Data Vault Pipeline Description - eine Lösung für die Data Vault Automatisierung

Nutzen Sie einen universellen Bauplan für Ihr Data Warehouse!

Unsere Lösung für Ihre Data Vault Automatisierung: Die Data Vault Pipeline Description (DVPD) ermöglicht es Ihnen ein beständiges Fundament in Ihre Data Warehouse Plattform zu integrieren, das Ihnen die Kopplung und Weiterentwicklung von Vorgehensweisen, Werkzeugen und Technologien erleichtert.

Das von uns entwickelte Konzept stellen wir der Community als Best Practice unter der Creative Commons Lizenz kostenlos zur Verfügung.

Was ist DVPD?

Grafik Data Vault Automatisierung

Die Data Vault Pipeline Description ist ein Beschreibungsstandard für Data Vault Beladungsprozesse. Sie ermöglicht die Gestaltung eines modularen und erweiterbaren Implementierungsprozesses für Ihr Data Warehouse.

DWH Modellierungs- und Implementierungswerkzeuge können mittels DVPD alle essenziellen Informationen auf der gleichen Grundlage bereitstellen oder ablesen. Modellierungsmethodische Basis ist Data Vault 2.0. Entsprechend können mit DVPD alle in Data Vault 2.0 denkbaren Modell- und Mappingszenarien dargestellt werden.

Aufgrund der werkzeugunabhängigen Beschreibung sollen Projekte über die Zeit neue Werkzeuge ergänzen oder gegen Alte austauschen können, ohne dabei andere Werkzeuge ihrem Arbeitsablauf in Frage zu stellen oder das bisher entwickelte Datenmodell und Datenmapping erneut erfassen zu müssen. So kann die Data Warehouse Plattform über ihre meist sehr lange Lebenszeit inkrementell modernisiert und agil gehalten werden und das Risiko eines „Vendor Lock-in“ wird verringert.

Motivation zur Nutzung

Die Entwicklung einer DWH-Beladungsstrecke ist zwangsläufig ein komplexer Vorgang der aus folgenden Arbeitsschritten besteht:

  • Analyse der Quelldatenstruktur und Inhalte
  • Modellierung des Zielmodells
  • Mapping der Quelldaten in das Zielmodell
  • Abstimmung des Verfahrens für inkrementelle Datenlieferung
  • Festlegung der Methode zur Erkennung von Löschungen
  • Implementierung der Beladung, wobei der implementierte Prozess folgende Elemente enthält:
    • Kontaktieren des Quellsystems und ggf. Bestimmung des Inkrements
    • Abholen und Parsen der Daten/des Dateninkrements aus der Quelle
    • Behandlung von Formatfehlern
    • Behandlung von Löschungen
    • Berechnung der Hash Werte für das Data Vault Modell
    • Laden der Data Vault Tabellen, je nach Stereotyp der Tabelle

Für jeden dieser Schritte sind verschiedene Werkzeuge notwendig. Die Art der Weitergabe der Informationen von einem Schritt zum nächsten ist dabei sehr vielfältig:

  • Die Information wird vom Entwickler manuell abgelesen und von Werkzeug A zu Werkzeug B übertragen.
  • Der Output eines Werkzeugs kann über (meist selbst zu entwickelnde) Transformationsskripte in den Input für den nächsten Schritt übersetzt werden.
  • Eines der Werkzeuge stellt aktiv schon ein passendes Format für das weitere Werkzeug bereit (Schwacher Vendor Lockin, da die Auswahl für Werkzeuge der Folgeschritte meist begrenzt ist).
  • Die Werkzeuge gehören zu einem gemeinsamen Produkt (Starker Vendor Lockin, da Informationsweitergabe selten öffentlich und meist auf interne Struktur des Gesamtprodukts zugeschnitten ist).

Oft werden in DWH Projekten Werkzeuge für einzelne Schritte selbst entwickelt, und sind damit für die Arbeitsweise des Projektes maßgeschneidert. Auch hier kommt es schnell zu einem verdeckten Vendor Lock-in, wenn der Austausch eines anderen Teils der Werkzeugkette aufgrund eines hohen Anpassungsaufwands der Eigenentwicklung verhindert wird.

In einer Vielzahl von Data Vault Projekten sind wir von der cimt ag mit dieser Art von Problemen konfrontiert worden. Wir haben nach einem Ansatz gesucht, der eine reibungslose Kopplung über eine klar definierte Schnittstelle im Arbeitsprozess ermöglicht. Als Ergebnis haben wir die DVPD entwickelt.

  • Tabellenstruktur und Beziehungen des Data Vault Model
  • Struktur und Zuordnung von Quellfeldern zu Tabellen und Spalten des Data Vault-Modells
  • Erklärungen zu den Spalten- und Zeilenreihenfolge in den Hash-Berechnungen
  • Parameter, um quelltechnologieabhängige Verfahren auszuwählen und zu konfigurieren
    (z.B. technologiespezifisches Ausführungsmodul – DB, REST, FILE …)
  • vom Quelldatenformat abhängige Erläuterungen
    (z. B. Schleifenelement in einem hierarchischen Dokumentenformat, Positionsindex einer Spalte, Json Pfad für eine Spalte)
  • Parameter zum inkrementellen Verhalten der Quelle (z.B. zu verfolgende Indexwerte)
  • Verfahren zur Erkennung von Löschvorgängen
    (z. B. Vergleich der vollständigen Stufe mit dem Tresor beim Laden)
  • allgemeine Einstellungen wie Hash-Algorithmen, Namen für Meta-Spalten, spezielle Werte (z.B. weit in der Zukunft liegende Daten, Ghost-Record-Werte) und mehr

Die Syntax orientiert sich an den Bedürfnissen von Data Vault und ist bei entsprechender Kenntnis der Methode in vielen essenziellen Elementen selbsterklärend. Dabei wird der Ansatz verfolgt, den Deklarationsaufwand für die häufigsten Modellszenarien so knapp wie möglich zu halten.

Dieses Vorgehen stützt sich auf die Tatsache, dass beim Einsatz der Data Vault Methode schon wenige Anhaltspunkte genügen, um alle daraus resultierenden Schritte und Vorgehen zu schlussfolgern.

Das vollständige Vorgehen zur Interpretation einer DVPD ist in einer ausführlichen Konzeptdokumentation und der Syntaxreferenz beschrieben.

Das DVPD-Konzept wird als Git Repository veröffentlicht unter:
https://github.com/cimt-ag/data_vault_pipelinedescription

  • Das Projekt bietet eine Konzept-Dokumentation, die Syntax-Referenz sowie die Referenzimplementierung eines DVPD-Compilers (DVPDC) zur syntaktischen und semantischen Prüfung und die Interpretation einer DVPD nach dem vorgegebenen Regelwerk enthält.
    Das Regelwerk umfasst die
    Ableitung von Tabellendefinitionen für den Data Vault (Meta-, Hash- und Inhaltsspalten je Tabelle)
  • Liste der Ladeoperationen für jede Tabelle inklusive der jeweiligen Abbildung der Quellfelder auf die Zieltabelle und Zusammenstellung der Hashwerte
  • Tabellendefinition für notwendigen Staging Tabellen

Hier zuerst einmal die üblichen Analysefragen:

Wie sieht Ihre bisherige Werkzeugkette aus?
Welche Ziel und Ergebnisse möchten Sie mit dem Projekt erreichen?
Welchen aktuellen Herausforderungen begegnen Sie aktuell?

Ein paar Beispiele:

  • Kein Datenmodellierungswerkzeug, DDL’s werden manuell erstellt.
    ⇒ DVPD als zentralen Speicher für das Modell einführen und DDL’s aus der DVPD generieren
  • Modellspezifikation erfolgt mit Excel für einen selbstentwickelten Codegenerator, ist aber fehleranfällig und kann bestimmte Szenarien nicht abbilden.
    ⇒ Excel mittels Transformationsscript in DVPD übersetzen. Nicht abbildbare Szenarien manuell als DVPD ergänzen. Input für Codegenerator aus der DVPD erzeugen oder Codegenerator für DVPD als Input umstellen. So kann später das Excel Tool ersetzt werden.
  • Geplantes Modellierungswerkzeug hat keinen direkten Output für die verwendeten Codegenerator und benötigt extra Eingaben, um korrekte DDL’s zu generieren.
    ⇒ Übersetzung des Outputs in DVPD implementieren. Die Eingaben im Modellierungswerkzeug auf das Wesentliche beschränken (Tabellen, Mapping). DDL’s aus der DVPD generieren und Codegenerator über Konverter aus der DVPD bedienen.

Weitere ausführliche Einsatzszenarien sind in der Dokumentation im Git Repository verfügbar. Gerne unterstützen wir Sie auch bei der Evaluierung und Einführung eines DVPD-Konzeptes für Ihre Data Warehouse Plattform.

Unsere Beratung für Ihre Data Vault Automatisierung

Neugierig geworden? Nutzen Sie die DVPD und profitieren Sie von unserer Data Vault Beratung. Sprechen Sie uns einfach an.

Kontakt

Portraitfoto von Matthias Wegner
Matthias Wegner

Senior DWH Consultant

Telefon: +49 30 834098 0
E-Mail: matthias.wegner@cimt-ag.de

“Data Warehouse Plattformen bewegen sich immer. Unsere Lösung: Eine Data Vault Automatisierung.”

Open Source

Das DVPD-Konzept wird Ihnen als Git Repository zur Verfügung gestellt: github.com/cimt-ag/data_vault_pipelinedescription

Ihre Vorteile

Sie möchten mehr über Data Vault Automatisierung erfahren?
Nach oben scrollen