Data Vault: Datenmodellierung für agile Anwendungen

0

Immer noch ist die Datenmodellierung ein wichtiges Thema im Bereich des Data Warehouse. Es konnte bisher keine Einigkeit erzielt werden, ob dimensionalen oder normalisierten Datenmodellen ein Vorzug eingeräumt werden soll. Das Konzept des Data Vault beschreitet einen innovativen Weg, der die Nachteile der traditionellen Konzepte überwindet.

Data Vault: Überwindung der Nachteile traditioneller Modellierungskonzepte

Data Vault ist mehr als eine neue Modellierungsmethode, sondern berücksichtigt auch Aspekte der Architektur und der Vorgehensmodelle. Resultat ist ein Ansatz, der gleichzeitig die geforderte Agilität sowie Stabilität und Flexibilität der BI-Lösungen ermöglicht. Kern der Vorgehensweise ist die Tatsache, fehlerbehaftete Daten weiterzuverarbeiten. Es wird dabei die „single version of the facts“ der „single version of the truth“ vorgezogen. Erweiterungen können sehr einfach einbezogen werden, wobei eine vollständige Historisierung der Datenbestände erfolgt und Datenladeprozesse effizient parallelisiert ablaufen.

Traditionelle Modellierungsmethoden und ihre Grenzen

Bei der normalisierten Modellierung bezieht man sich auf eine Vorgehensweise, die von Bill Inmon entwickelt wurde, der auch als einer der Begründer des Data-Warehouse-Konzepts gilt. Dabei wird ein integriertes, unternehmensweites Datenmodell aufgebaut, bei dem der Datenbestand den höchst möglichen Detaillierungsgrad und eine ebenfalls möglichst optimale Qualität aufweist. Ergebnis ist ein großer Datenpool, der es erlaubt, schnell neue Data Marts aufzubauen. Außerdem kann relativ einfach sichergestellt werden, dass Kennzahlen unternehmensweit einheitlich definiert werden.

Um diese Anforderungen zu erfüllen, muss ein extrem komplexes Modell erstellt werden, das sehr viele Tabellen und alle Verknüpfungen zwischen diesen Tabellen berücksichtigt. Schon der Erstaufwand des Modellaufbaus ist riesig. Muss das Modell einem veränderten Request gemäß weiterentwickelt werden, ist dies wiederum mit großem Aufwand und langen Projektlaufzeiten verbunden. Alles in allem können damit nicht die Anforderungen der Anwender an Agilität erfüllt werden. Das schnelle Reagieren auf veränderte Wettbewerbsbedingungen kann aber über den Erfolg oder Misserfolg, im schlimmsten Fall über das Weiterbestehen eines Unternehmens, entscheiden.

Um die beschriebenen Nachteile zu beseitigen, entwickelte Ralph Kimball das Konzept der dimensionalen Modellierung. Dabei wird das relevante Datenmaterial in Dimensions- und Faktentabellen abgelegt. Dies geschieht mit einer Star- beziehungsweise Snowflake-Schema-Modellierung. Es wird sich dabei sehr stark an den Vorstellungen und dem Geschäftsverständnis der Anwender orientiert. Auf diese Weise ist nicht nur der Ersterstellungsaufwand, sondern auch eine etwaig erforderliche, iterative Weiterentwicklung sehr viel schneller realisierbar.

Mit Belegdimensionen wird sichergestellt, dass ein ausreichender Detaillierungsgrad der Datenbestände erreicht wird. Einzelne Geschäftsvorfälle können somit unverdichtet abgebildet werden. Bei dieser Methode der Datenmodellierung sind Dimensionen und Dimensionstabellen die zentralen Gestaltungsmerkmale. Diese werden dann in verschiedenen Kontexten genutzt, indem sie beispielweise mit unterschiedlichen Faktentabellen in Beziehung gesetzt werden. Die dimensionale Methode gilt jedoch als wenig robust, wenn sich Änderungen an den Quellsystemen oder der Businesslogik ergeben. In diesen Fällen sind aufwendige Modifikationen der Datenmodelle notwendig. Die Entwicklungs- und Testphasen sind langandauernd und wenig agil.

Mit Belegdimensionen wird sichergestellt, dass ein ausreichender Detaillierungsgrad der Datenbestände erreicht wird. (#01)

Mit Belegdimensionen wird sichergestellt, dass ein ausreichender Detaillierungsgrad der Datenbestände erreicht wird. (#01)

Data Vault: Neuorientierung im Bereich des Modeling

Der Umgang mit der Datenflut in den Unternehmen wird immer mehr zum zentralen Erfolgsfaktor. Innerhalb kürzester Zeit ändern sich in einer dynamischen Umwelt die Anforderungen an die verschiedenen Fachabteilungen. Darauf müssen Data Warehouses schnell und flexibel reagieren. Bei gleichzeitig exponentiellem Datenwachstum wird es immer schwieriger, den Request der IT-Abteilung zu erfüllen. Das Konzept des Data Vault zielt darauf ab, diesen Entwicklungen dadurch zu begegnen, dass die Komplexität reduziert wird.

Data Vault ist ein umfassender Architektur- und Modellierungsansatz. Ziel sind effizient erweiterbare Data Warehouses. Die Methode ist somit besonders geeignet für Data Warehouses, bei denen häufig Strukturerweiterungen vorgenommen werden müssen. Dazu sollen alle Daten in einem generischen Modell abgelegt werden. Ein wesentliches Merkmal ist, Modellierungsparadigmen und Namenskonventionen möglichst einfach zu gestalten. Das führt dazu, dass im Rahmen des Data Vault ein besonders schnelles Verständnis für die Datenbestände erreicht wird.

Alle Informationen sollen so aufgeteilt werden, dass die Integration und Historisierung der Datenbestände sehr schnell vollzogen werden kann. Auf diese Weise wird das Modell einfach ohne Migration der bereits bestehenden Tabellen erweitert. Data Vault gibt dem Data Warehouse eine neue, sehr einfach Sprache, wobei die Regeln und Begriffe bewusst vereinheitlicht werden. Kernbegriffe sind in diesem Zusammenhang HUBs, LINKs sowie SATellites. Alle Informationen, die einem Objekt zuzuordnen sind, werden in diese drei Kategorien geteilt und danach wird auf strikte Trennung geachtet.

Die zentralen Elemente eines Data Vault Modells sind:

  • HUBs
  • LINKs
  • SATellites

HUBs, LINKs und SATellites

HUBs sind die Schlüsseltabellen. In diesen Bereich fallen alle Informationen, mit denen ein Objekt beschrieben wird. Dazu gehören beispielsweise die Kundennummer und die Adresse eines Kunden. Der HUB ist also das Kernobjekt der Geschäftslogik. In dieser Kategorie werden alle Business Keys gespeichert. Da sich diese durch Stabilität und Langlebigkeit auszeichnen, wird dadurch die Dauerhaftigkeit des Datenmodells gewährleistet. Neben diesen geschäftlichen Schlüsseln (Business Keys) gibt es hier einen künstlichen Surrogatschlüssel (Surrogate Key, SK).

LINKs stellen die Verbindungen her zwischen zwei oder auch mehreren HUBs und nutzen dafür die Surrogatschlüssel. Mit den LINKs werden also die Geschäftsbeziehungen zwischen den Business Keys (beispielsweise Kunde und bestelltes Produkt) hergestellt. Die SATellites enthalten alle Attribute, mit denen die HUBs und LINKs beschrieben werden. Jede Modellkomponente enthält außerdem technische Attribute wie die Angaben zur Datenquelle (record source) und Informationen zur Ladezeit (load date). Festgelegte Modellierungsregeln stellen sicher, dass die Data-Vault-Modelle korrekt aufgebaut werden.

Wie funktioniert Data Vault?

Im Zentrum der Vorgehensweise steht die konsequente Trennung der Schlüssel (HUB-Tabellen) von den deskriptiven Attributen (SATellite-Tabellen) und den Informationen über die Beziehungen (LINK-Tabellen). Das Konzept zeichnet sich durch ein hohes Maß an Transparenz und Klarheit aus. Daraus ergibt sich, dass sowohl die Flexibilität als auch die Anpassbarkeit und Skalierbarkeit optimiert werden. Das hat wiederum positive Auswirkungen auf die Auditierbarkeit. Durch die strikte Trennung können Datenbestände aus unterschiedlichsten Quellen integriert werden. Auf diese Weise kann das Datenmodell jederzeit erweitert werden. Die vorgegebenen Regeln müssen zwingend angewendet werden. Das sorgt wiederum dafür, dass die Generierung von Tabellen und die ETL-Prozesse automatisiert erfolgen können.

 Durch die strikte Trennung können Datenbestände aus unterschiedlichsten Quellen integriert werden. Auf diese Weise kann das Datenmodell jederzeit erweitert werden.(#02)

Durch die strikte Trennung können Datenbestände aus unterschiedlichsten Quellen integriert werden. Auf diese Weise kann das Datenmodell jederzeit erweitert werden.(#02)

Erstellung eines Data Vault Modells

Die schrittweise Vorgehensweise ermöglicht ein hohes Maß an Strukturiertheit und Nachvollziehbarkeit. Zunächst werden die Objekte des Modells ermittelt, die eine eigene Identität haben, die sogenannten Entitäten. Im Unternehmenskontext können das Kunden, Produkte oder Bestellungen sein. Jetzt wird für jeden Entitätstyp ein HUB gebildet. Es muss ein fachlicher Schlüssel (Business Key) identifiziert werden, mit dem die jeweilige Entität eindeutig identifiziert werden kann. Der Primary Key des Quellsystems kann dafür nicht verwendet werden, weil unterschiedliche Datenquellen in das Modell integriert werden sollen.

Im nächsten Schritt werden die Beziehungen, die zwischen den verschiedenen HUBs bestehen, modelliert. Zwischen zwei oder auch mehreren HUBs wird zu diesem Zweck ein LINK erstellt. In den LINKs können keine eigenständigen Ereignisse oder Objekte dargestellt werden. Abschließend müssen die Attribute ermittelt werden, mit denen die HUBs und LINKs beschrieben werden und dann in einem SATellite dargestellt werden. Jeder SATellite wird einem einzelnen LINK oder HUB zugeordnet. Es ist aber durchaus möglich, dass zu einem HUB oder SATellite mehrere LINKs gehören.

Es stellt sich die Frage, warum die beschreibenden Attribute auf verschiedene SATellites aufgeteilt werden müssen. Die Aufteilung hat praktische Gründe. Es können Daten, die lange Zeit unverändert bleiben, getrennt von sich schneller ändernden Attributen in verschiedenen SATellites gespeichert werden. Manchmal wird mit dem Hinzufügen neuer SATellites auch die Implementierung einer Erweiterung des Datenmodells erreicht. Hier zeigt sich ein wesentlicher Vorteil des Data Vault: die einfache Erweiterbarkeit. Es ist problemlos möglich, neue Anforderungen in ein bestehendes Modell aufzunehmen, indem neue fachliche Entitäten aber auch neue Attribute oder Beziehungen in Form von neuen Tabellen integriert werden. Der Vorteil dieser Methode besteht darin, dass die bereits vorhandenen Tabellen nicht erweitert oder migriert werden müssen, was ansonsten besonders bei agilen Projekten sehr oft der Fall wäre.

Wie erfolgt die Historisierung der Daten?

Die Historisierung des Datenbestands ist ein wichtiger Aspekt beim Data Warehouse. Wird die Datenmodellierung im Data-Vault-Modell umgesetzt, erfolgt die Historisierung ausnahmslos in den SATellites. Der Ladezeitpunkt ist Bestandteil des Primärschlüssels in den Satellitentabellen und deshalb kann jede Attribut-Änderung lückenlos nachvollzogen und dokumentiert werden. Es ist möglich, den Datenbestand zu jedem beliebigen Zeitpunkt zu ermitteln. In der Satellitentabelle werden im Rahmen der Deltaermittlung die aktuellsten Datenlieferungen mit der vorherigen Version abgeglichen. Werden dabei Unterschiede festgestellt, wird auf dem HUB ein neuer Datensatz gespeichert. Sowohl die Deltaermittlung als auch die Speicherung der neuen Version können einfach und für jede der Satellitentabellen separat durchgeführt werden.

Wird die Datenmodellierung im Data-Vault-Modell umgesetzt, erfolgt die Historisierung ausnahmslos in den SATellites.(#03)

Wird die Datenmodellierung im Data-Vault-Modell umgesetzt, erfolgt die Historisierung ausnahmslos in den SATellites.(#03)

Wie müssen die ETL-Prozesse gestaltet sein?

ETL steht für Extract, Transform und Load und der ETL-Prozess beschreibt die Art und Weise, wie Datensätze aus teilweise unstrukturierten Datenquellen zu einer Zieldatenbank zusammengefasst werden. Erster Schritt ist die Extraktion, bei der die relevanten Daten aus den Datenquellen identifiziert werden. Durch die dann folgende Transformation werden die Datensätze so verändert, dass sie mit dem Schema und Format der Zieldatenbank kompatibel sind. Abschließend erfolgt das Laden der transformierten Datenbestände in die Zieldatenbank.

Auch hinsichtlich der ETL-Prozesse wird beim Data Vault konsequent ein einfaches und selbstverständlich einheitliches Muster angewendet. Das Extrahieren der Datenbestände in die verschiedenen Dimensionen und Faktortabellen geschieht nach einem einheitlichen Schema. Weil die Ladelogik also immer unverändert bleibt, ist keine manuelle Implementierung nötig. Diese erfolgt einfach durch Generatoren. Besteht das Data Warehouse aus sehr vielen Tabellen und müssen häufig strukturelle Veränderungen berücksichtigt werden, ist diese Vorgehensweise sehr vorteilhaft und ressourcenschonend.

Der Ladevorgang besteht aus drei aufeinander folgenden Schritten und vollzieht sich durch das parallele Laden:

  • aller HUBs
  • aller LINKs und HUB SATellites
  • aller LINK SATellites

Warum ist Data Vault die überlegene Methode der Datenmodellierung?

Mit Data Vault gelingt es, die Vorteile des dimensionalen mit denen des normalisierten Modeling zu verbinden. Eine Data Vault Modellierung zeichnet sich dadurch aus, dass sie in sich konsistent, skalierbar und sehr flexibel ist. Es ist möglich, das Datenmodell an veränderte Anforderungen des Unternehmens anzupassen. Damit wird eine wichtige Anforderung unserer Zeit an die Datenerfassung und -analyse erfüllt.

Für die meisten Unternehmen ist Big Data ein erstrebenswerter Idealzustand. Große Datenmengen aus unterschiedlichsten, teilweise unstrukturierten Datenquellen sollen dafür erfasst und zu handlungsrelevanten Informationen für die Fachabteilungen und die Unternehmensführung transformiert werden. Auch die unternehmensinternen Datenmodelle müssen sich den Erfordernissen von Big Data anpassen. Sollen beispielsweise neue Datenquellen aus den sozialen Netzwerken integriert werden oder die Informationen von Kundenkarten, Smart-Metering-Systemen sowie Fahrzeugen in das unternehmensweite Datenmodell aufgenommen werden? Es ist nachvollziehbar, dass dies nur mit agilen Modellierungsmethoden möglich ist.

Eine Data Vault Modellierung zeichnet sich dadurch aus, dass sie in sich konsistent, skalierbar und sehr flexibel ist.(#04)

Eine Data Vault Modellierung zeichnet sich dadurch aus, dass sie in sich konsistent, skalierbar und sehr flexibel ist.(#04)

Welche Vorteile werden mit Data Vault erreicht?

Mit der Methodik kann der Prozess der Datenmodellierung verbessert werden und daraus ergeben sich für Unternehmen entscheidende Vorteile.

Reduzierung der Komplexität

Data Vault ermöglicht, verschiedene Geschäftsobjekte zu integrieren und diese dann fachlich sinnvoll miteinander in Beziehung zu setzen. Dafür sind nur die drei Standards HUBs, LINKs und SATellites nötig. Diese Architektur impliziert eine hohe Flexibilität, bei der Änderungen schnell umgesetzt werden können. Durch die Entkoppelung der einzelnen Objekte wird eine Erweiterung über das Ergänzen neuer HUBs, SATellites und LINKs ermöglicht. Die einzelnen Entwickler in einem Unternehmen können deshalb unabhängig voneinander arbeiten, ohne die Systemlogik zu gefährden. Das Data Vault Datenmodell ist abwärtskompatibel, sodass Systeme, die auf dem Data Warehouse aufbauen, von den Modifikationen kaum oder gar nicht tangiert werden.

Automatisierung der Prozesse

Kommt diese Art der Datenmodellierung konsequent zur Anwendung, ist es möglich, in Kombination mit den Metadaten ETL-Prozesse, Tests und Dokumentationen automatisiert durchzuführen. Eine schnelle Implementierung sorgt wiederum für eine agile Weiterentwicklung des Datenmodells und damit für die Fähigkeit, sich ständig ändernden Bedingungen möglichst schnell anzupassen. Es können jederzeit neue Datenquellen integriert und neue Kennzahlen geliefert werden.

Die Vorteile kommen besonders bei agilen Projekten und Data Warehouses, die mit Datenbeständen aus unstrukturierten Quellen arbeiten, zum Tragen. Es ist jedoch von entscheidender Bedeutung, dass die vorgegebenen Regeln ohne Ausnahme umgesetzt werden. Auf diese Weise wird sichergestellt, dass auch ein komplexes Datenmodell verständlich, nachvollziehbar und erweiterbar bleibt. Die Vereinheitlichung der Prozesse hat außerdem positive Auswirkungen auf die geforderte Unterstützung der Industrie-Standards Six Sigma, CMMI sowie TQM.

 

Kommt diese Art der Datenmodellierung konsequent zur Anwendung, ist es möglich, in Kombination mit den Metadaten ETL-Prozesse, Tests und Dokumentationen automatisiert durchzuführen. (#05)

Kommt diese Art der Datenmodellierung konsequent zur Anwendung, ist es möglich, in Kombination mit den Metadaten ETL-Prozesse, Tests und Dokumentationen automatisiert durchzuführen. (#05)

Historisierung vereinfacht Rückverfolgbarkeit und Auditierung

Wird die Data Vault Methodik angewendet, ist es einfach möglich, jederzeit Anfrageergebnisse aus der Vergangenheit zu reproduzieren. Da die Historisierung nur in den SATellites erfolgt, kann anhand des dort gespeicherten Ladezeitpunkts genau nachvollzogen werden, wann Änderungen an welchen Attributen vorgenommen worden sind. Ergebnis ist eine hohe Revisionssicherheit.

Einfache Skalierbarkeit ermöglicht flexibles Wachstum

Die Trennung der deskriptiven und identifizierenden Attribute ermöglicht ein hohes Maß an Skalierbarkeit, denn einmal festgelegte Strukturen bleiben unverändert. Damit wird die Flexibilität im Hinblick auf veränderte Bedingungen oder das Wachstum des Datenmodells erhöht. Außerdem können neue Technologien einfach eingebunden werden. Eine NoSQL-Lösung wie beispielsweise Hadoop kann ins bestehende Modell integriert werden. Das Unternehmen ist damit für die Anforderungen von Big Data gerüstet.

Video: Webcastreihe Data Vault – Teil 1a: Einführung Data Vault

Mit welchen Entwicklungen ist in der Zukunft zu rechnen?

Data Vault wird sich wahrscheinlich besonders bei drei Gruppen von Unternehmen durchsetzen. Von Data Vaults profitieren vor allem Unternehmen, die innerhalb kurzer Zeit sehr große Datenvolumen laden müssen. Aber auch Unternehmen, die eine agile Entwicklung von Business-Intelligence-Anwendungen anstreben, sind mit dieser Methode der Datenmodellierung erfolgreich. Die dritte Gruppe bilden Unternehmen, die im Rahmen einer bereits existierenden Silo-Architektur ein vorgelagertes Core Data Warehouse implementieren möchten.

In Zukunft werden vermehrt generische Rules-Engines zur weiteren Effizienzsteigerung führen. Die Rules-Engines nutzen semantische Beschreibungssprachen. Dies ist eine wesentlich einfachere Möglichkeit, die Business-Logik, auf der das Datenmodell basiert, zu dokumentieren. Auf diese Weise kann die Datenintegration viel einfacher erfolgen und Kosten werden eingespart.


Bildnachweis:©Shutterstock – Titelbild:Mmaxer – #01:Iaremenko Sergii – #02:phive – #03:Andrey Armyagov – #04:brovkin – #05:Mopic

Über 

Marius Beilhammer, Jahrgang 1969, studierte Journalismus in Bamberg. Er schreibt bereits viele Jahre für technische Fachmagazine, außerdem als freier Autor zu verschiedensten Markt- und Businessthemen. Als fränkische Frohnatur findet er bei seiner Arbeit stets die Balance zwischen Leichtigkeit und umfassendem Know-how durch seine ausgeprägte Affinität zur Technik.

Share.

Leave A Reply