Das Video ansehen
Multi-Active-Satelliten und abhängige Child Keys in Data Vault verstehen
Data Vault ist bekannt für seinen stark strukturierten data warehousing-Ansatz, der auf Hubs, Links und Satelliten aufbaut, um die Datenabfolge zu erfassen, die historische Genauigkeit zu erhalten und die Skalierbarkeit zu gewährleisten. Spezielle Datenszenarien, wie z. B. der Umgang mit unterschiedlichen Datengranularitäten, führen jedoch häufig zu Fragen über mehrfach aktive Satelliten und abhängige untergeordnete Schlüssel. In diesem Artikel werden diese Konzepte aufgeschlüsselt und ihre Unterschiede und Anwendungsfälle in einer Data Vault-Umgebung erläutert.
In diesem Artikel:
Was ist ein Multi-Aktiv-Satellit?
Ein multiaktiver Satellit dient der Verwaltung mehrerer Datensätze für ein einziges Geschäftsobjekt, die gleichzeitig aktiv sind. Dieses Szenario tritt auf, wenn ein Geschäftsobjekt, wie z. B. ein Kunde, mehrere aktive Dateneinträge zur gleichen Zeit haben kann. So könnte ein Kunde beispielsweise mehrere Adressen haben (Privat- und Arbeitsadresse), die beide gleichzeitig gültig sind.
In einer typischen Satellitenstruktur definiert ein Geschäftsschlüssel (z. B. die Kunden-ID) in Kombination mit einem Zeitstempel des Ladedatums den Primärschlüssel. Bei mehreren aktiven Datensätzen ist dieser Primärschlüssel jedoch unzureichend, da er nicht jede aktive Instanz eindeutig identifizieren kann. Stattdessen wird dem Primärschlüssel ein zusätzliches Attribut hinzugefügt, z. B. ein Adresstyp (privat oder beruflich), um jeden Datensatz zu unterscheiden. Mit diesem Ansatz kann der Satellit mehrere Einträge für denselben Geschäftsschlüssel verfolgen, ohne Daten zu duplizieren, und hilft bei der Erfassung feinerer Details in der data warehouse.
Beispiel für einen Multi-Aktiv-Satelliten
Nehmen wir an, unser Quellsystem hat einen Kunden mit der ID C123
der zwei aktive Adressen hat: eine für zu Hause und eine für die Arbeit. In einem Standard-Satelliten könnte es einen Datensatz pro Geschäftsschlüssel geben. In einem multiaktiven Satelliten werden jedoch beide Adressen gleichzeitig gespeichert, indem ein zusätzlicher Bezeichner (z. B. "Adresstyp") im Primärschlüssel verwendet wird:
- Kunden-ID: C123
- Lade-Datum: Zeitstempel des Datenladens
- Zusätzlicher Identifikator: Art der Adresse (z. B. zu Hause, am Arbeitsplatz)
Dieser Ansatz ermöglicht mehrere Einträge für ein einziges Geschäftsobjekt (in diesem Fall Kunde C123), wobei eindeutige Datensätze in der Satellitentabelle erhalten bleiben.
Was ist ein Schlüssel für abhängige Kinder?
Ein abhängiger untergeordneter Schlüssel wird verwendet, um Beziehungen zwischen mehreren Geschäftsobjekten auf einer feineren Granularitätsebene zu verwalten, als es eine Standard-Data Vault-Verknüpfung erlauben würde. Abhängige untergeordnete Schlüssel werden in der Regel in Verknüpfungen verwendet, bei denen wir mehrere Vorkommen einer Beziehung zwischen Geschäftsobjekten verfolgen müssen, z. B. einen Auftrag und seine Positionen.
Nehmen wir einen Auftrag mit mehreren Positionen, wobei jede Position auf ein Produkt verweist. In diesem Fall identifiziert der abhängige untergeordnete Schlüssel (z. B. die Positionsnummer) jede Beziehungsinstanz eindeutig, da er zusätzliche Details über die Auftrags- und Produktkennungen hinaus liefert. Dies ermöglicht mehrere Zeilen in der Verknüpfung für dieselben Geschäftsobjekte, wobei eindeutige Datensätze erhalten bleiben.
Beispiel für einen Schlüssel für ein abhängiges Kind
Stellen Sie sich vor, wir haben einen Auftrag O123
für einen Kunden C123
die zwei Positionen für dasselbe Produkt, aber mit unterschiedlichen Preisen oder Mengen enthält:
- Bestell-ID: O123
- Kunden-ID: C123
- Produkt-ID: P123
- Schlüssel für abhängiges Kind: Zeilennummer (z. B. 1, 2)
In diesem Fall erstellen wir für jede Position eindeutige Zeilen, wobei die Positionsnummer jeden Datensatz kennzeichnet. Auf diese Weise wird sichergestellt, dass jeder Eintrag einzeln gespeichert und nachverfolgt wird.
Hauptunterschiede zwischen Multi-Active Satellites und Dependent Child Keys
Multiaktive Satelliten und abhängige untergeordnete Schlüssel ermöglichen zwar beide eine feinere Datengranularität, dienen aber unterschiedlichen Zwecken und werden in unterschiedlichen Zusammenhängen verwendet:
- Multi-Aktiv-Satelliten
Wird innerhalb eines einzelnen Geschäftsobjekts angewendet, um mehrere aktive Datensätze gleichzeitig zu behandeln. Der zusätzliche Bezeichner hilft bei der Erfassung gleichzeitiger Einträge für dasselbe Objekt in einem Satelliten. - Schlüssel für abhängige Kinder
Wird in Verknüpfungen zwischen mehreren Geschäftsobjekten verwendet, bei denen der zusätzliche Schlüssel die feineren Details der einzelnen Beziehungsinstanzen erfasst, z. B. die Positionen in einer Bestellung.
Wann ist welcher Ansatz zu wählen?
Die Entscheidung, ob ein mehrfach aktiver Satellit oder ein abhängiger untergeordneter Schlüssel verwendet wird, hängt von der Granularität der Daten und den Beziehungen in Ihrem Datenmodell ab:
- Verwenden Sie Multi-Active Satellites, wenn Sie mehrere aktive Datensätze für ein einzelnes Geschäftsobjekt bearbeiten, wobei sich jeder Eintrag nur auf den primären Geschäftsschlüssel bezieht (z. B. Kunde mit mehreren Adressen).
- Verwenden Sie abhängige untergeordnete Schlüssel, wenn Sie detaillierte Beziehungen zwischen verschiedenen Geschäftsobjekten nachverfolgen, die zusätzliche Identifikatoren erfordern, um die Eindeutigkeit zu wahren (z. B. Auftrag und Einzelposten).
Zusammenfassung
Multiaktive Satelliten und abhängige untergeordnete Schlüssel bieten Lösungen für die Speicherung von Daten mit komplexer Granularität in Data Vault-Modellen. Während multiaktive Satelliten mehrere gleichzeitige Datensätze für ein einziges Geschäftsobjekt ermöglichen, ermöglichen abhängige untergeordnete Schlüssel die eindeutige Identifizierung komplexer Beziehungen in Verknüpfungen. Beide Ansätze wahren die Data Vault-Prinzipien der Skalierbarkeit und Datenintegrität, indem sie eindeutige Datensätze bewahren und eine detaillierte Nachverfolgung von Geschäftsdaten ermöglichen.
Kurz gesagt:
- Multi-Aktiv-Satellit: Für mehrere gleichzeitig aktive Datensätze innerhalb eines einzigen Geschäftsobjekts.
- Abhängiger untergeordneter Schlüssel: Für Beziehungen zwischen mehreren Geschäftsobjekten, die detailliertere Angaben erfordern, typischerweise in Verknüpfungen.
Treffen mit dem Sprecher
Marc Winkelmann
Marc arbeitet im Bereich Business Intelligence und Enterprise Data Warehousing (EDW) mit Schwerpunkt auf Data Vault 2.0-Implementierung und Coaching. Seit 2016 ist er in der Beratung und Implementierung von Data Vault 2.0-Lösungen bei Branchenführern in den Bereichen Fertigung, Energieversorgung und Facility Management tätig. Im Jahr 2020 wurde er zum Data Vault 2.0-Ausbilder für Scalefree ernannt.