Implementierung von Data Vault 2.0 Zero Keys
Erfahren Sie mehr über Zero-Keys – das andere Konzept, das oft synonym mit Ghost-Records verwendet wird, die wir bereits in einem früheren Blogbeitrag besprochen haben
In this article:
Warum Zero Keys implementieren?
Wie im vorherigen Teil dieser Serie besprochen, ist ein Ghost-Record ein Dummy-Datensatz in Satellite-Entitäten, der Standardwerte enthält. Einfach ausgedrückt sind Zero-Keys die Einträge in jeder Hub- und Link-Entität, die das Gegenstück zum Ghost-Record des Satelliten darstellen und dessen Hash-Key enthalten. Auf diese Weise wird der Begriff „Zero-Key“ oft verwendet, um den Hash-Key des Ghost-Records zu beschreiben, der in anderen Data-Vault-Entitäten wie Point-in-Time-Tabellen (PIT-Tabellen) oder Links auftauchen kann. Zusammen mit dem Zero-Hash-Key gibt es, ähnlich wie bei einem Ghost-Record, einen Standardwert für den Business-Key. Oder im Fall eines Composite-Business-Keys mehrere Standardwerte für jede seiner Komponenten.

Sobald der Hub- und Link-Eintrag für den Zero-Key vorhanden ist, verfügt jeder einzelne Eintrag im zugehörigen Satelliten über einen Parent-Hash-Key, wodurch sogenannte verwaiste Hash-Keys (Hash-Key-Orphans) vermieden werden.
Wie sieht ein Zero Key aus?
In Data Vault 2.0 ist es nur erforderlich, einen einzigen Ghost-Record in jede Satellite-Entität einzufügen. Es ist jedoch möglich, mehrere Zero-Keys zu verwenden. Intern bei Scalefree und in vielen unserer Projekte unterscheiden wir zwei Arten von fehlenden Objekten durch verschiedene Hub-Zero-Keys.
Bitte beachten Sie, dass der hier verwendete Hash-Algorithmus MD5 ist:
- 00000000000000000000000000000000 (32-mal die Ziffer „0“) für allgemeine „unbekannte“ Fälle, in denen ein Business-Key fehlt.
- ffffffffffffffffffffffffffffffff (32-mal der Buchstabe „f“): ein dedizierter Zero-Key für fehlerhafte Fälle, in denen Business-Keys fehlen.

Ein gutes Beispiel, das den „Error“-Zero-Key erfordert, ist eine fehlerhafte oder fehlende obligatorische Objektbeziehung in der Quelle. In diesem Fall wird der Zero-Key ffffffffffffffffffffffffffffffff in der Link-Entität gefunden, was auf eine unerwartet fehlende Hub-Referenz hinweist. Denken Sie daran: Sollten Sie sich für die Implementierung des Error-Zero-Keys entscheiden, ist es nicht erforderlich, einen Ghost-Record mit dem Error-Zero-Key als Parent-Hash-Key in Satellite-Entitäten einzufügen.
Für den Zero-Key in Link-Entitäten ist nur ein einziger Eintrag erforderlich, der den Zero-Hash-Key sowohl als Link-Hash-Key als auch als Hub-Referenz enthält.

Es ist auch wichtig darauf hinzuweisen, dass alle Beispiele, die wir in dieser Blogserie zeigen, den Hash-Algorithmus MD5 verwenden, der 32-stellige hexadezimale Sequenzen ausgibt. Für Data-Vault-2.0-Projekte, die andere Hash-Algorithmen wie SHA256 verwenden, passen Sie einfach die Länge der von uns vorgeschlagenen Zero-Keys („0000…“ / „ffff…“) an die gewünschte Hash-Ausgabelänge an.
Fazit
Wir hoffen, dass dieser Blogbeitrag dazu beigetragen hat, die Implementierung von Zero-Keys in einer Data-Vault-2.0-Lösung sowie die Unterschiede zwischen den Konzepten von Ghost-Records und Zero-Keys zu verdeutlichen. Teilen Sie Ihre Erfahrungen bei der Implementierung dieser Konzepte gerne in den Kommentaren unten mit!
