Data Vault
# Data Vault

Data Vault ist eine Modellierungstechnik für Data Warehouses, die insbesondere für agile Data Warehouses geeignet ist. Sie bietet eine hohe Flexibilität bei Erweiterungen, eine vollständige unitemporale Historisierung der Daten und erlaubt eine starke Parallelisierung der Datenladeprozesse.

## Geschichte

Entwickelt wurde die Data-Vault-Modellierung in den 1990ern von Dan Linstedt, der zu dieser Zeit für die National Security Agency tätig war. Nach ersten Veröffentlichungen im Jahr 2000 erlangte Data Vault ab 2002 durch eine Reihe von Artikeln in The Data Administration Newsletter größere Aufmerksamkeit. 2007 gewann Linstedt die Unterstützung Bill Inmons, der Data Vault als die „optimale Wahl“ für seine DW-2.0-Architektur bezeichnete.
2009, 2011 und 2015 veröffentlichte Linstedt, teilweise zusammen mit anderen Autoren, Bücher über Data Vault. Seit 2013 propagiert er unter der Bezeichnung Data Vault 2.0 ein Paket aus Modellierungs-, Architektur- und Methodologieansätzen. Linstedts ehemaliger Geschäftspartner Hans Hultgren veröffentlichte 2012 ebenfalls ein Buch über Data-Vault-Modellierung, 2019 folgte ein Buch des Australiers John Giles über die Erstellung von Data-Vault-Modellen mit Hilfe von Patterns.
Erste Popularität erlangte Data Vault ab 2007 in den Niederlanden.

## Modellierung

Data Vault vereint Aspekte der relationalen Datenbankmodellierung mit der dritten Normalform (3NF) und des Sternschemas. Es gehört zu einer Familie von Modellierungstechniken, die von verschiedenen Autoren als hypernormalisierte oder Ensemble-Modellierung bezeichnet wird.
Bei der Data-Vault-Modellierung werden alle zu einem Geschäftskonzept (wie Kunde oder Produkt) gehörenden Informationen in drei Kategorien eingeteilt und entsprechend in drei verschiedenen Typen von Datenbanktabellen abgelegt. Hultgren nennt diese Vorgehensweise „unified decomposition“, weil die Informationen zwar in unterschiedlichen Tabellen abgelegt werden, aber weiterhin durch einen gemeinsamen Schlüssel verbunden sind.
In die erste Kategorie „Hub“ gehören Informationen, die ein Geschäftskonzept eindeutig beschreiben, d. h. ihm seine Identität geben (z. B. Kundennummer beim Kunden). Ein Hub ist somit eine Liste von eindeutigen Geschäftsschlüsseln und dient als Integrationspunkt für Daten aus verschiedenen Quellen.
In die zweite Kategorie „Link“ gehören alle Arten von Beziehungen zwischen Geschäftskonzepten (z. B. Zuordnung eines Kunden zu einer Branche). Dies können hierarchische Beziehungen sein (z. B. Mitarbeiter untersteht Manager), Geschäftsvorgänge (z. B. Arzt behandelt Patient in Krankenhaus) oder auch Identitätsbeziehungen (zwei Kundennummern bezeichnen denselben Kunden).
Alle Attribute, die ein Geschäftskonzept oder eine Beziehung beschreiben (z. B. Name, Geburtsdatum oder Geschlecht eines Kunden), gehören in die dritte Kategorie „Satellit“. In den Satelliten findet auch die unitemporale Historisierung statt. Ein Hub oder Link kann mehrere Satelliten haben, die beispielsweise nach Datenquelle oder Änderungshäufigkeit aufgeteilt sind.
Durch diese Art der Modellierung sind Änderungen flexibel möglich, so dass in der Regel keine bestehenden Tabellen angepasst werden müssen, sondern einfach neue Tabellen (z. B. neue Attribute in einem zusätzlichen Satelliten) hinzugefügt werden. Durch die starke Schematisierung der Datenladeprozesse können ETL-Prozess-Templates verwendet werden, so dass im besten Fall zur Änderung bzw. Erweiterung des Datenladeprozesses nur eine Anpassung der Konfiguration notwendig ist.