MID GmbH

              Leistungen          Kundenservice          Downloads            Unternehmen

Data Vault und Innovator

 Michael Müller

 13 Nov 2014

BI/DWH

Übersicht für Data Warehouse und BI
Im Gespräch mit Kunden über unsere BI-Lösungen begegne ich häufig dem gleichen Phänomen. Es besteht ein großer Wunsch nach Übersicht über die komplette BI-Lösung. Nicht nur über die Datenmodelle, das ist unstrittig. Sondern vielmehr bei Modellen zur Datengenese. Liegt hier doch ein wesentlicher Teil komplexer Logik, dessen Verständnis sich direkt auf die Lebensdauer der Lösung auswirkt. Je besser die Logik der ETL- bzw. ELT-Prozesse verstanden ist, desto länger braucht es, bis ein Re-Design nötig wird. Gleichzeitig besteht eine gewisse Furcht vor Mehraufwänden. Der Wunsch nach Übersichtlichkeit steht in direktem Konflikt mit den knappen Ressourcen. So stehen viele BI-Verantwortliche vor dem Dilemma, entweder heute mehr zu investieren oder später die komplette Lösung neu bauen zu müssen.

Das ist eine schwierige Entscheidung, die zu fällen sich vermeiden lässt. Ein gutes Modell für Data Warehouse und BI muss mehr bieten als nur die Übersicht. Es muss gleichzeitig auch seinen Teil zum Entwicklungsfortschritt beitragen. Das Modell ist somit nicht nur Selbstzweck, wird das Modell weggelassen, ist auch der nächste Schritt mehr Aufwand.  Wenn wir ein Datenmodell erstellen, erhalten wir neben der Übersicht auch die DDL für das Datenbankschema. Ohne Modell müssen wir es von Hand pflegen.

Mit Data Vault mehr aus dem Modell herausholen
Mit Data Vault können wir ein solches Modell erstellen, welches den nächsten Entwicklungsschritt unterstützen bzw. komplett generieren und so beschleunigen kann. Data Vault besteht aus Modellierungsmethode und Architektur. In der Architektur erfolgt eine Konzentration auf die Bereitstellung früherer Ergebnisse. In der Modellierung liegt der Fokus auf Flexibilität und Änderungsfreundlichkeit. Änderungen sind immer lokal begrenzt. Damit erlaubt uns Data Vault, schnell Ergebnisse vorzustellen und diese dann inkrementell zu verbessern. So kann die Kraft agiler Vorgehensweisen in das Core Warehouse gebracht werden. Aber auch traditionelle Ansätze profitieren davon.

Um möglichst früh komplette Ergebnisse bereitzustellen, trennt Data Vault die Frage der Datenintegration von aller sonstigen Logik wie Datenkonsolidierung, Maßnahmen für die Datenqualität oder Dublettenbereinigung. All die komplexen Verarbeitungsschritte werden in einem Extraschritt innerhalb des Core Warehouse erledigt. Dieser Teil des Core Warehouses wird als Business Vault bezeichnet. Die Datenintegration kann so standardisiert werden. Dieser Standard lässt sich dann automatisieren. Bevor wir hier in die Tiefe gehen, einen kurzen Überblick über Data Vault.

Data Vault Modellierung
Data Vault ist eine spezielle Datenmodellierungsmethode, die irgendwo zwischen 3. und 4. Normalform liegt. Die Geschäftsobjekte werden als Hub modelliert. Der Identifizierer für dieses Geschäftsobjekt wird als Business Key bezeichnet. Die Attribute, die diese Geschäftsobjekte beschreiben, werden in Satelliten abgelegt. Die Transaktionen sind Links, die die Geschäftsobjekte bzw. Hubs miteinander verknüpfen. Auch die beschreibenden Attribute des Links werden in einem Satelliten abgelegt (vgl. Abbildung 1).

Data-Vault-Schema.png

Abbildung 1: Data Vault Schema

Das so entstandene Modell lässt sich automatisieren, da die Befüllung nach immer gleichem Muster abläuft. Jeder Hub, Link oder Satellit wird mit jeweils einem SQL-Template gefüllt. Wir müssen jeweils nur die Metadaten eintragen.

Wenn wir diese Methodik anwenden, haben wir schnell ein Modell der CoreWarehouse-Schicht und auch wenn uns noch die komplexe Logik fehlt, können wir diese Daten bereits in einem Data Mart darstellen. Das Ergebnis kann früh dem Fachbereich präsentiert werden, welcher die Daten im Rohzustand sieht. Auf dieser Basis können bessere Anforderungen formuliert werden.

Doch wie können wir hier mit Modellen schneller arbeiten? Und wie liefern hier Modelle einen Mehrwert?

Automatisierung von Data Vault im Modell
Schaut man sich die notwendigen Arbeitsschritte für die Erstellung eines Data-Vault-Modells an, so müssen auf Basis der Ladeschicht:

  • die Attribute nach Hub, Link und Satellite klassifiziert werden,
  • die jeweiligen Entitäten erstellt werden,
  • die Attribute den Entitäten zugewiesen und
  • die Beziehungen zwischen den Entitäten gezogen werden.

Damit steht das Modell. Anhand von Abhängigkeiten zwischen Ladetabelle und Data Vault können die notwendigen Metdaten gewonnen werden, um die SQL-Templates für die Befüllung des Data Vault zu gewinnen.
Für diese Arbeiten gibt es nun zwei Möglichkeiten. Ein häufig verwendeter Ansatz ist die Auszeichnung der Attribute in der Ladeschicht und die Generierung des kompletten Data-Vault-Modells. Dann entsteht ein komplettes Data-Vault-Modell per Knopfdruck. Das hat aber eine Reihe von Nachteilen:

  • bis alle Attribute ausgezeichnet sind, müssen viele Mausklicks erfolgen, ohne dass man einen Erfolg sieht
  • das entstandene Modell ist groß und muss nun noch kontrolliert werden, Fehler bei der Attributkennzeichnung sind schwer zu finden
  • für die nächsten Versionen, für jede Änderung müssen wir das komplette Modell noch einmal erstellen oder kleine manuelle Arbeitsschritte hinzufügen

Aus diesen Gründen haben wird uns gegen dieses Vorgehen entschieden. Mit einem neuen Werkzeug, dem sogenannten Beamer kopieren wir die Attribute in die DWH-Schicht. In einem Arbeitsschritt entstehen so die Entitäten und Attribute für das Data-Vault-Modell sowie die Abhängigkeiten zur Ladeschicht. In einem zweiten Schritt müssen nun noch die Beziehungen zwischen den Entitäten gezogen werden.

Automatisierung von Data Vault aus dem Modell
Mit diesem Ergebnis, den Schemata der Lade- und der Data-Vault-Schicht sowie den Abhängigkeiten zwischen den beiden Schichten können wir nun die Befüllung des Data Vault generieren. Entweder in dem wir damit das Mapping in ETL-Prozessen generieren oder - noch einfacher - in dem wir SQL Templates mit diesen Daten füllen.

Mehrwert aus Modellen
Nun wird deutlich, dass etwas fehlt, wenn wir das Modell nicht erstellen. Mit der Generierung der Befüllung können wir den kompletten nächsten Entwicklungsschritt auf einen Bruchteil des ursprünglichen Aufwandes reduzieren.  Diesen Gewinn an Zeit, den wir bei der Erstellung des Data Vault erzielen, können wir nun in die Modellierung des Business Vault stecken. Im Business Vault vollziehen wir die komplexen Verarbeitungsschritte. Hier lohnt sich der Aufwand für eine komplette Beschreibung der Arbeitsschritte in verständlicher Prosa. Mit dieser Darstellung ist die spätere Wartung erheblich einfacher. Wie wir in diesen Fällen dennoch ein komplettes Lineage über alle Schichten hinweg realisieren können, zeigen wir demnächst in einem weiteren Blog.
Mit Data Vault und Innovator können wir

  • inkrementell und
  • agil entwickeln,
  • bleiben flexibel,
  • behalten die Übersicht und
  • beschleunigen die Entwicklung. Auf Basis eines
  • standardisierten Vorgehens, in welchem wir die einzelnen Schritte
  • automatisiert abarbeiten.

Wäre das nicht auch etwas für Sie? Dann nehmen Sie doch einfach Kontakt mit mir auf. Schreiben Sie mir eine E-Mail an m.mueller@mid.de.

Michael Müller

geschrieben von Michael Müller

Michael Müller, Dipl. Inf. (FH), ist Principal Consutant bei der MID GmbH. Nach sieben Jahren als Softwareentwickler im Bereich Adressmanagement und Database Marketing kam er Ende 2001 zu MID. Sein Schwerpunkt liegt im Bereich Business Intelligence und Data Warehousing.

<< Zurück

Relevante Posts:

MID Blog

Hier bloggen Mitarbeiter der MID und eingeladene Gastautoren zu Themen rund um die Modellierung. Bleiben Sie auf dem Laufenden und lassen Sie sich per Email über neue Blogbeiträge informieren.

Neue Beiträge per Mail

Autoren

Interessieren Sie sich für ein Thema, dass wir bisher noch nicht behandelt haben? Oder haben Sie Fragen oder Anmerkungen zu einem bestimmten Beitrag?

Schreiben Sie uns gerne einen Kommentar, wir werden das Thema in der Zukunft aufgreifen.

Die neuesten Posts

MID Newsletter abonnieren