Data Vault – Ein Überblick
Data Vault ist eine innovative Datenmodellierungsmethode für große Data Warehouse Plattformen. Data Vault wurde von Dan Linstedt entwickelt, um ein Enterprise Data Warehouse bereitzustellen und gleichzeitig die Nachteile der normalisierten (3. Normalform) und dimensionalen Modellierungstechniken zu beheben. Es kombiniert das zentralisierte Rohdaten-Repository des Inmon-Ansatzes mit den Vorteilen des inkrementellen Aufbaus von Kimball.
Dieser Artikel fasst die Nachteile des 3NF- und Dimensional Design-Ansatzes zusammen und listet die Vor- und Nachteile des Data Vault-Ansatzes auf. Schließlich enthält er Links zu nützlicher Hintergrundlektüre und zielt darauf ab, die Frage zu beantworten:
Sollte ich Data Vault für mein Data Warehouse-Projekt verwenden?
Welches Problem versucht Data Vault zu lösen?
Bevor wir die Herausforderungen zusammenfassen, die Data Vault zu lösen versucht, lohnt es sich, den alternativen Datenmodellierungsansatz und die entsprechenden Datenarchitekturen zu betrachten. Das folgende Diagramm zeigt eine mögliche Enterprise Data Architecture.
Enterprise Data Warehouse
Beim EDW-Ansatz werden die Daten in eine transiente Landing Area geladen, woraufhin eine Reihe von ETL-Prozessen zum Laden der Daten in ein Enterprise Data Warehouse der dritten Normalform verwendet wird. Die Daten werden anschließend in dimensionalen Data Marts für Analysen und Berichte extrahiert.
Die wichtigsten Nachteile dieses Ansatzes sind:
- Time to Market: Das Enterprise Data Warehouse muss zunächst Daten aus den einzelnen Quellsystemen in ein zentrales Daten-Repository integrieren, bevor sie für die Berichterstattung zur Verfügung stehen, was das Projekt zeitaufwändig macht.
- Komplexität und Fachwissen: Ein Data Warehouse muss möglicherweise Daten aus hundert Quellen integrieren, und die Entwicklung eines unternehmensweiten Datenmodells zur Unterstützung eines komplexen Geschäftsumfelds ist eine große Herausforderung, die hochqualifizierte Datenmodellierungsexperten erfordert.
- Mangelnde Flexibilität: Ein Modell in dritter Normalform neigt dazu, die bestehenden Datenbeziehungen zu modellieren, was zu einer relativ unflexiblen Lösung führen kann, die erheblich überarbeitet werden muss, wenn zusätzliche Quellen hinzugefügt werden. Schlimmer noch, übereifrige Datenmodellierungsexperten versuchen oft, dies durch die Bereitstellung überkomplexer generischer Modelle zu überwinden, die fast unmöglich zu verstehen sind.
Dimensionaler Designansatz
Das folgende Diagramm zeigt eine mögliche Datenarchitektur für ein klassisches dimensionales Data Warehouse-Design.
Der obige Ansatz verzichtet auf das EDW, um den Endanwendern schnell Ergebnisse zu liefern. Ich habe diese Technik 2008 bei einer Londoner Tier-One-Investmentbank eingesetzt, um den Geschäftsanwendern innerhalb weniger Wochen nach Projektbeginn Kreditrisikobewertungen zu liefern. Hätten wir mit dem Aufbau eines herkömmlichen Data Warehouse gewartet, wären wir bankrott gegangen, bevor wir etwas Nützliches geliefert hätten.
Anfänglich waren die Geschäftsanwender von der schnellen Bereitstellung begeistert, doch im Laufe der Zeit stießen wir auf viele Herausforderungen, die immer schwieriger zu bewältigen waren. Dazu gehörten:
1. Zunehmende Code-Komplexität: Der ETL-Code (Extrahieren, Transformieren und Laden) wurde so kompliziert, dass er nicht mehr zu handhaben war. Das Ersetzen des ETL-Tools (Informatica) durch Oracle-Skripte half zwar (da wir die Lösung nach und nach vereinfachten), aber das war nicht die Ursache des Problems. Wir versuchten, die eingehenden Daten umzustrukturieren, sie zu deduplizieren, zu bereinigen und anzupassen und die sich im Laufe der Zeit ändernden Geschäftsregeln anzuwenden. Die Durchführung all dieser Schritte in einer einzigen Codebasis war in der Tat sehr schwierig.
2. Mangel an Rohdaten: Da der Landebereich rein transient war (jedes Mal gelöscht und neu geladen), hatten wir keine historischen Aufzeichnungen von Rohdaten. Dies machte es für Analysten schwierig, wertvolle neue Datenbeziehungen zu entdecken, und die zunehmende Bedeutung von Data Science, die (vor allem) Rohdaten benötigt, wurde einfach ignoriert.
3. Verwaltung der Historie: Da wir keine Historie der Rohdaten hatten und nur die Attribute luden, die für die Analyse benötigt wurden, wurde es schwierig, zusätzliche Datenfeeds zurückzupflegen.
4. Lineage war eine Herausforderung: Da sowohl die technische als auch die geschäftliche Logik in immer mehr Schichten von Quellcode implementiert war, war es fast unmöglich, die Herkunft eines Datenelements vom Bericht zurück zum Quellsystem zu verfolgen.
Das Unternehmen war von der anfänglichen Schnelligkeit der Bereitstellung begeistert. Im Laufe der Zeit wurde es jedoch immer schwieriger, das Tempo beizubehalten, da die Lösung immer komplexer wurde und sich die Geschäftsregeln im Laufe der Zeit änderten.
Data Vault Architektur
Das folgende Diagramm zeigt eine mögliche Datenarchitektur, die von der Data Vault-Methodik verwendet wird.
Leave a Reply