Data Vault
Was ist ein Data Vault?
Ein Data Vault ist ein Entwurfsmuster zur Datenmodellierung, das zum Erstellen eines Data Warehouse für unternehmensweite Analysen verwendet wird. Data Vaults sind in drei Kategorien eingeteilt: Hubs, Links und Satelliten.
Hubs repräsentieren zentrale Geschäftskonzepte, Links stellen Beziehungen zwischen Hubs dar und Satelliten speichern Informationen über Hubs und deren Beziehungen untereinander.
Der Data Vault ist ein Datenmodell, das sich gut für Unternehmen eignet, die mit dem Lakehouse-Paradigma arbeiten.
Data-Vault-Modellierung: Hubs, Links und Satelliten
- Hubs: Jeder Hub steht für ein zentrales Geschäftskonzept, wie z. B. Kunden-ID/Produktnummer/Fahrzeug-Identifizierungsnummer (FIN). Mit einem Unternehmensschlüssel erhalten Benutzer Informationen über einen Hub. Der Unternehmensschlüssel kann eine Kombination aus Unternehmenskonzept-ID und Sequenz-ID, Ladedatum und anderen Metadateninformationen enthalten.
- Links: Links stellen die Beziehung zwischen Hub-Entitäten dar.
- Satelliten: Satelliten schließen die Lücke und ergänzen die fehlenden Angaben bezüglich der wichtigsten Geschäftskonzepte. Satelliten speichern die zum Hub gehörigen Informationen sowie deren Beziehungen untereinander.
Bitte beachten Sie außerdem folgende Punkte:
- Ein Satellit kann keine direkte Verbindung zu einem anderen Satelliten haben.
- Ein Hub oder Link kann einen oder mehrere Satelliten haben.
Vorteile eines Data Vault
- Agil
- Strukturiert, aber flexibel genug für Umstrukturierungen
- Extrem skalierbar, bis zu mehreren Petabytes
- Verwendet Muster, die die Generierung von ETL-Code unterstützen
- Vertraute Architektur: Datenschichten, ETL, Sternschemata
Data Vaults basieren auf agilen Methoden und Techniken, was bedeutet, dass sie sich an schnell wechselnde Unternehmensanforderungen anpassen können. Zu den wichtigsten Vorteilen der Data-Vault-Methode gehört, dass ETL-Jobs bei Änderungen des Modells weniger häufig umstrukturiert werden müssen.
Modellierungstechniken nach Lakehouse-Schicht
Vor dem Hintergrund dieser Konzepte sollten wir uns ansehen, wie sich Data Vaults in unsere Bronze-, Silber- und Gold-Datenschichten einfügen, in denen die Rohdaten aufbereitet werden und dann für Analysen zur Verfügung stehen. In dieser Multi-Hop-Architektur werden die Rohdaten in einer Bronze-Schicht mit minimaler Transformation und Datenstruktur so nah wie möglich am Quellsystem gespeichert. Die Data-Vault-Methode kann auf die Silber-Schicht angewendet werden, wo Daten in Hubs, Links und Satelliten transformiert werden.
In der Gold-Schicht können mehrere Data Marts / Data Warehouses mittels dimensionaler Modellierung / Kimball-Methodik erstellt werden. Wie bereits erwähnt, dient die Gold-Schicht der Berichterstattung und verwendet mehr denormalisierte und leseoptimierte Datenmodelle mit weniger Joins. Manchmal können Tabellen in der Gold-Schicht vollständig denormalisiert werden, typischerweise, wenn Data Scientists dies benötigen, um ihre Algorithmen für das Feature-Engineering zu speisen.
Wenn ein Data-Vault-Modell in der Silber-Schicht verwendet wird, vereinfacht und reduziert es die Änderungen, die zur Durchführung von ETL in Data Marts und Data Warehouses erforderlich sind, erheblich, da die Schlüsselverwaltung (Surrogatschlüssel / natürliche Schlüssel) durch Hubs vereinfacht wird. Satelliten erleichtern das Laden von Dimensionen, da sie alle erforderlichen Attribute enthalten. Links wiederum erleichtern das Laden von Faktentabellen, da sie sämtliche Beziehungen enthalten.
Ressourcen
- Data Lakehouse-Plattform von Databricks
- Databricks SQL-Produktseite
- Databricks-Blog: Verschiedene Data-Warehousing-Modellierungstechniken und wie Sie diese auf der Lakehouse-Plattform von Databricks implementieren
- Databricks-Blog: Was ist ein Data Vault und wie können Sie ihn auf der Lakehouse-Plattform von Databricks implementieren?