Mit multi-aktiven Satelliten sind Sie in der Lage, mehrere aktive Datensätze für einen Geschäftsschlüssel zu speichern. Je nachdem, wie die Daten von Ihrer Quelle ankommen, gibt es verschiedene Möglichkeiten, Multi-Aktivität in Data Vault 2.0 zu implementieren. In diesem Beitrag erläutern wir Ihre Optionen für die Modellierung.
Was ist ein Multi-Aktiv-Satellit?
Ein multiaktiver Satellit ähnelt in seiner Struktur einem Standardsatelliten. Wie bereits erwähnt, speichert er mehrere aktive Datensätze pro Schlüssel zu einem bestimmten Zeitpunkt. Die genaue Struktur hängt jedoch vom jeweiligen Anwendungsfall ab.
Siehe das Beispiel des Modells Data Vault in Abbildung 1.
Abbildung 1: Modell Data Vault
Wann wird ein Multi-Aktiv-Satellit eingesetzt?
Aus diesem Grund sind multi-aktive Satelliten für mehrere aktive Datensätze geeignet. Wir verwenden sie also, wenn das Quellsystem sie liefert. Darüber hinaus eignet er sich auch für den Einsatz, wenn der Liefermechanismus nicht genügend Metadaten bereitstellt, z. B. durch Verwendung von XML.
Ein Beispiel
Angenommen, Sie erhalten die Daten Ihrer Kunden in halbstrukturierten XML-Dateien, in denen mehrere Telefonnummern in einem Array enthalten sind. Die Metadaten enthalten jedoch keine weiteren Informationen. So sind die Anzahl, der Typ und die Reihenfolge der Datensätze unbekannt. Wenn Sie die XML-Datei reduzieren, erhalten Sie so viele Datensätze wie die Anzahl der Tupel im Array (Abbildung 2). Wenn Sie daraus einen Standard-Satelliten erstellen, Es kann nur eine Zeile pro Kundengeschäftsschlüssel gleichzeitig aktiv sein. Andernfalls würden Sie einen Verstoß gegen den Primärschlüssel feststellen, wenn Sie denselben Hash-Schlüssel und ldt.
Abbildung 2 - customer.xml
Verschiedene Optionen der Umsetzung
Um diese Probleme zu vermeiden und auch die aktiven Rufnummern jederzeit abfragen zu können, gibt es mehrere Möglichkeiten. Diese hängen ab davon abhängen, ob ein "multi-aktiver Schlüssel" zur Verfügung steht, abgesehen von Leistungsproblemen und der Verwendbarkeit bei der Abfrage der Daten. Im folgenden Abschnitt werden wir sie kurz beschreiben. Im nächsten Beitrag werden wir jedoch mehr ins Detail gehen.
Multi-Aktiv-Satelliten-Reihen
Falls Sie keinen mehrfach aktiven Schlüssel haben, müssen Sie einen eigenen erstellen, indem Sie im Staging-Bereich eine Untersequenznummer pro Geschäftsschlüssel hinzufügen. IZusätzlich zum Hash-Schlüssel und ldts müssen Sie diesen zum Primärschlüssel hinzufügen (Abbildung 3). Hier müssen Sie allerdings genau darauf achten, ob sich die Daten beim nächsten Laden ändern. Zum Beispiel, wenn Wenn sich die Reihenfolge der Rufnummern ändert, können Sie einer Teilfolge keine bestimmte Rufnummer zuordnen.
Abbildung 3 - Multiaktiver Satellit mit Teilsequenz
Typ
Wenn es möglich ist, Typencodes zu definieren und sie zum Quellfeed hinzuzufügen, ist es am besten, diese zum Primärschlüssel des Satelliten hinzuzufügen. Hier müssen Sie nur selten auch die Typen ändern. In unserem Beispiel würden wir Typen wie "home", "business", "cell" und "fax" definieren, wie in Abbildung 4 dargestellt. Aber denken Sie daran, dies muss von der Quellsystem. Ist dies nicht der Fall, müssen Sie die Teilsequenzen verwenden.
Abbildung 4 - Typenschlüssel-Lösung
Eine andere Möglichkeit, den Wechsel von Typen zu vermeiden, ist das Pivoting, bei dem Sie verschiedene Spalten pro Typ erstellen. Hier erhalten Sie die gleiche Granularität wie im Hub. Dabei ist jedoch auch die Notwendigkeit eines Reengineering im Falle einer Änderung der Attributstypen zu berücksichtigen.
Extra Hub
Die letzte Möglichkeit, Probleme mit mehrfach aktiven Datensätzen zu lösen, besteht darin, einen zusätzlichen, schwächeren Hub für das mehrfach aktive Attribut, in diesem Fall die Telefonnummer, zu erstellen und diesen mit dem Haupt-Hub zu verknüpfen. Dies setzt voraus, dass dieses Attribut als Geschäftsschlüssel qualifiziert ist. Hier wird die nDie Anzahl der Hubs kann stark ansteigen, je nachdem, wie viele multiaktive Datensätze pro Geschäftsschlüssel Sie haben. Außerdem ist der neue Knotenpunkt möglicherweise nicht als echtes Geschäftsobjekt vorhanden. Dies ist zwar nicht die erste Wahl, aber in einigen Fällen eine praktikable Lösung.
Hinzufügen des Multi-Aktiv-Attributs zum zusammengesetzten Schlüssel
Es ist nicht empfehlenswert, den Multi-Aktiv-Schlüssel einfach zum Business-Schlüssel hinzuzufügen. Dadurch werden die ursprüngliche Struktur und die semantische Bedeutung verändert. Das Ergebnis ist, dass die ursprüngliche Absicht des Hubs verschwindet.
Beachten Sie diese Regeln für einen Raw Data Vault-Hub:
- Keine Super- oder Subtypen in einem Hub
- Vermischen Sie nicht verschiedene semantische Bedeutungen in einem Knotenpunkt
- Keine Vermischung von Granularitäten in einem Hub
Zusammenfassung
In vielen data vault-Projekten stößt das BI-Team auf solche Szenarien, insbesondere bei der Arbeit mit semistrukturierte Daten. Dennoch ist es bei mehrfach aktiven Datensätzen am besten, mit Typcodes zu arbeiten, die dem Quell-Feed hinzugefügt werden. Wenn diese jedoch nicht verfügbar sind, müssen Sie die Untersequenz verwenden. Als letzte Lösung können Sie jedoch einen zusätzlichen Hub erstellen.
Im nächsten Beitrag werden wir mehr über die Vor- und Nachteile der Optionen sprechen und darüber, wie sie genau zu implementieren sind. Themen sind Delta-Checks, ldts, PITs und eine spezielle Hash-Funktion zur Berechnung mehrzeiliger Hashdiffs.
- von Marvin Geerken (Scalefree)
Updates und Support erhalten
Bitte senden Sie Anfragen und Funktionswünsche an [email protected].
Für Anfragen zu Data Vault-Schulungen und Schulungen vor Ort wenden Sie sich bitte an [email protected] oder registrieren Sie sich unter www.scalefree.com.
Um die Erstellung von Visual Data Vault-Zeichnungen in Microsoft Visio zu unterstützen, wurde eine Schablone implementiert, die zum Zeichnen von Data Vault-Modellen verwendet werden kann. Die Schablone ist erhältlich bei www.visualdatavault.com.