Das Video ansehen
Schnappschuss auf der Grundlage von Bridge Table auf dem Link- und Effektivitätssatelliten
Willkommen zu einer weiteren Ausgabe des Data Vault Friday! Heute befassen wir uns mit dem Konzept einer Snapshot-basierten BrückentischDer Schwerpunkt liegt dabei auf der Anwendung in Szenarien mit Verbindungen und Gültigkeits-Satelliten. Dieser Ansatz hilft uns, komplexe Beziehungen zwischen Geschäftsobjekten im Laufe der Zeit zu handhaben, Änderungen in den Beziehungen zu verwalten und eine vollständige historische Übersicht zu erhalten. In diesem Artikel werden wir Lösungen für drei Hauptfragen untersuchen:
- Wie geht man mit einer fehlenden Beziehung an Tag 2 im Vergleich zu Tag 1 um?
- Wie man veränderte Beziehungen von Tag 1 zu Tag 2 für denselben Schlüssel verwaltet
- Wie kann ein Geschäftsobjekt (A3) an Tag 2 aufgenommen werden, wenn es keine Beziehung zu einem Objekt in B hat?
In diesem Artikel:
- Verständnis des Modellierungsbeispiels Data Vault
- Erstellung des Link- und Effektivitätssatelliten
- Aufbau des Snapshot-basierten Bridge Table
- Behandlung fehlender Daten und Wiederherstellung von Beziehungen
- Einbindung von A3 in das Bridge Table an Tag 2
- Verhindern kartesischer Produkte und andere bewährte Praktiken
- Schlussfolgerung
- Treffen mit dem Sprecher
Verständnis des Modellierungsbeispiels Data Vault
In unserem Beispiel haben wir zwei Quellen, die jeweils ein anderes Geschäftsobjekt (A und B) darstellen. Geschäftsobjekt A wird als statischer Datensatz dargestellt, während Geschäftsobjekt B dynamische Beziehungen zu A über drei Tage hinweg aufzeigt. Jeder Tag bringt Änderungen in den Beziehungen mit sich, wobei einige Einträge verschwinden oder sich verschieben. Unsere Aufgabe ist es, diese Änderungen effektiv in einer Snapshot-Bridge-Tabelle zu erfassen.
Prüfung der Beziehungsänderungen
Schauen wir uns die Veränderungen an, die in den drei Tagen beobachtet wurden:
- Tag 1: B1 ist mit A1, B2 mit A2 und B3 mit A3 verbunden.
- Tag 2: Die Beziehungen ändern sich. B1 ist nun mit A2 verbunden, B2 mit A1, und B3 verschwindet.
- Tag 3: Im Vergleich zu Tag 2 ergeben sich keine weiteren Änderungen.
Unser Ziel ist es, diese Beziehungen mit Hilfe eines Effektivitätssatelliten und eines Bridge Table zu dokumentieren, so dass wir den Zustand der Beziehungen an jedem Tag abfragen können.
Erstellung des Link- und Effektivitätssatelliten
Der erste Schritt zur Erfassung dieser Beziehungen ist die Erstellung einer Link Tabelle, die eine eindeutige Liste von Beziehungen zwischen Geschäftsobjekten enthält. Verknüpfungen sollten keine zusätzlichen Metadaten, wie z. B. Gültigkeitsdaten, enthalten, da dies den Datenabruf erschweren und die Leistung verringern kann. In unserem Beispiel erfasst die Verknüpfungstabelle jede eindeutige Kombination von A- und B-Schlüsseln, aber nicht deren Start- oder Enddatum.
Als nächstes erstellen wir eine Wirkungsgrad Satellit. Diese Tabelle erweitert die Verknüpfung, indem sie die Zeitstempel für den Beginn und das Ende jeder Beziehung sowie ein "is_active"-Flag aufzeichnet, um den aktuellen Status jeder Beziehung anzuzeigen. Mit dieser Tabelle können wir verfolgen, wann eine Beziehung beginnt, sich ändert oder endet. Schauen wir uns an, wie das funktioniert:
- Tag 1 Einträge: Alle Beziehungen (B1-A1, B2-A2, B3-A3) sind als aktiv gekennzeichnet.
- Tag 2 Einträge: Neue Beziehungen (B1-A2 und B2-A1) werden hinzugefügt und als aktiv markiert, während die bisherigen Beziehungen (B1-A1 und B2-A2) als inaktiv markiert werden. B3-A3 wird vollständig entfernt.
Aufbau des Snapshot-basierten Bridge Table
Mit der Einrichtung des Gültigkeitssatelliten können wir nun eine Bridge Table erstellen, die eine Momentaufnahme der aktiven Beziehungen für jeden Tag enthält. Diese Tabelle bietet eine Point-in-Time-Ansicht der Beziehungen, wie sie an einem bestimmten Tag bestanden. Sehen wir uns nun an, wie die Bridge Table erstellt wird:
Schnappschuss von Tag 1
Der Schnappschuss von Tag 1 spiegelt die anfänglichen Beziehungen wider, indem er alle aktiven Datensätze vom Gültigkeitssatelliten abruft. In diesem Stadium sind B1-A1, B2-A2 und B3-A3 alle aktiv.
Schnappschuss von Tag 2
Im Snapshot von Tag 2 bleiben nur die Beziehungen B1-A2 und B2-A1 aktiv, während B3-A3 entfernt wird. Durch die Anwendung eines Filters, der nur aktive Einträge enthält, stellt der Schnappschuss die Beziehungen an Tag 2 genau dar.
Schnappschuss von Tag 3
Der Schnappschuss von Tag 3 ist identisch mit dem von Tag 2, da keine zusätzlichen Änderungen vorgenommen wurden. Die aktiven Beziehungen B1-A2 und B2-A1 bleiben unverändert.
Dieses Verfahren stellt sicher, dass wir einen klaren Prüfpfad für Änderungen und Löschungen von Beziehungen haben. Jeder Tages-Snapshot stellt den Zustand der Beziehungen zu diesem Zeitpunkt dar, ohne redundante Daten einzuführen.
Behandlung fehlender Daten und Wiederherstellung von Beziehungen
Ein wichtiges Merkmal des Gültigkeitssatelliten ist die Möglichkeit, wiederhergestellte Beziehungen zu verwalten. Wenn beispielsweise die Beziehung zwischen B1 und A1 am vierten Tag wiederhergestellt wird, fügen wir neue Zeilen in den Gültigkeitssatelliten ein, markieren die zuvor aktive Kombination (B1-A2) als inaktiv und reaktivieren B1-A1. Diese dynamische Struktur erleichtert die Anpassung an Beziehungen, die im Laufe der Zeit entstehen, verschwinden und wieder auftauchen.
Einbindung von A3 in das Bridge Table an Tag 2
Eine häufige Herausforderung besteht darin, Geschäftsobjekte wie A3 an Tag 2 einzubeziehen, obwohl an diesem Tag keine Beziehung zu B besteht. In Data Vault wird dies häufig in nachgelagerten Abfragen oder Berichts-Joins und nicht in Bridge Table selbst behandelt.
Wenn Sie mit Objekt A beginnen und eine Linksverknüpfung mit Bridge Table durchführen, werden alle Datensätze von A einbezogen (auch wenn sie nicht in B erscheinen). Auf diese Weise wird sichergestellt, dass nicht verknüpfte Objekte in den Ergebnissen enthalten sind, wobei ihre B-Beziehungen als Null oder, falls gewünscht, als Platzhalter angezeigt werden.
Verhindern kartesischer Produkte und andere bewährte Praktiken
Bei der Verwendung eines Bridge Table ist es wichtig, unerwartete kartesische Produkte zu vermeiden, die die Daten während der Aggregation aufblähen können. Prüfen Sie immer die Kardinalität von Beziehungen zwischen Objekten (z. B. eins-zu-eins oder viele-zu-viele), um sicherzustellen, dass Verknüpfungen nur an notwendigen Schlüsseln stattfinden. Die Website Antriebsschlüsseldie die Beziehungen in der Verknüpfungstabelle verankert, sollte das Hauptaugenmerk liegen, insbesondere bei Beziehungen von vielen zu vielen Personen.
Diese Methode gewährleistet Genauigkeit und Leistung bei der Aggregation von Daten und vermeidet überhöhte Ergebnisse in der Berichterstattung.
Schlussfolgerung
Snapshot-basierte Brückentabellen sind leistungsstarke Werkzeuge in der Data Vault-Modellierung, um sich ändernde Beziehungen zu handhaben und historische Snapshots zu verfolgen. Durch die sorgfältige Strukturierung von Verknüpfungen, Gültigkeitssatelliten und Bridge Tables erstellen wir eine robuste, überprüfbare Spur von Datenänderungen im Laufe der Zeit. Wie bereits erwähnt, ermöglicht uns dieser Ansatz, fehlende Daten zu ergänzen, Beziehungen wiederherzustellen und eine Dateninflation zu verhindern, um zuverlässige und leistungsfähige Datenmodelle zu gewährleisten.
Wenn Sie weitere Unterstützung bei Vorlagen für Brückentabellen oder Effektivitätssatelliten wünschen, können Sie sich gerne an mich wenden. Ich hoffe, diese Diskussion hat Klarheit über die Verwendung von Brückentabellen in Data Vault geschaffen. Besuchen Sie uns wieder, um mehr über Data Vault zu erfahren, und stellen Sie uns Ihre Fragen!
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.