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, die Mehrfachaktivität in Data Vault 2.0. In diesem Beitrag erläutern wir Ihre Optionen für die Modellierung.
Was sind Multi-Aktiv-Satelliten?
Multiaktive Satelliten sind vergleichbar mit Standard-Satelliten Satellites, und ihre Struktur. Wie bereits erwähnt, speichern sie 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 sollte man Multi-Active Satellites verwenden?
Aus diesem Grund sind multi-aktive Satelliten für mehrere aktive Datensätze geeignet. Wir verwenden also multiaktive Satelliten, wenn das Quellsystem sie liefert. Darüber hinaus sind sie auch geeignet, wenn der Liefermechanismus nicht genügend Metadaten bereitstellt, z. B. durch Verwendung von XML.
Ein Beispiel
Angenommen, Sie bekommen die Daten Ihrer Kunden in halbstrukturierten XML-Dateien geliefert. Darin befinden sich mehrere Telefonnummern in einem Array. 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
Wenn Sie keinen multiaktiven Schlüssel haben und multiaktive Satelliten verwenden möchten, müssen Sie einen eigenen Schlüssel erstellen, indem Sie im Staging-Bereich eine Untersequenznummer pro Unternehmensschlü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 bei der Hub. Aber auch die Notwendigkeit eines Reengineering im Falle einer Änderung der Attributstypen wird berücksichtigt.
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
Die Implementierung von multiaktiven Satelliten kann in vielen data vault-Projekten verwendet werden, 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.
Zur Unterstützung bei der Erstellung von Visual Data Vault-Zeichnungen in Microsoft Visio wurde eine Schablone entwickelt, mit der Data Vault-Modelle gezeichnet werden können. Die Schablone ist erhältlich bei www.visualdatavault.com.