Zum Hauptinhalt springen
Suche
0
Scalefree - Blog - Datenarchitektur - Erfassung semistrukturierter beschreibender Daten

In den vorangegangenen Artikeln dieser Reihe wurden Hub- und Link-Entitäten zur Erfassung von Unternehmensschlüsseln sowie die Beziehungen zwischen Unternehmensschlüsseln vorgestellt. Zur Veranschaulichung: Die Hub-Dokumentensammlung in MongoDB ist eine eindeutige Liste von Geschäftsschlüsseln, die zur Identifizierung von Kunden verwendet werden. 

Zur Erfassung der beschreibenden Daten, die in diesem Fall der beschreibende Faktor der Unternehmensschlüssel sind, werden in Data Vault Satellitenentitäten verwendet. Da sowohl Geschäftsschlüssel als auch Beziehungen zwischen Geschäftsschlüsseln durch Benutzerdaten beschrieben werden können, können Satelliten sowohl an Hub- als auch an Link-Entitäten angeschlossen werden:

Die Art und Weise, wie diese Data Vault-Satelliten in MongoDB implementiert werden, unterscheidet sich jedoch von einem Data Vault-Modell in einer relationalen Datenbank. In erster Linie gibt es Satellitendokumente, die einen Geschäftsschlüssel oder eine Beziehung beschreiben. Da sich diese jedoch im Laufe der Zeit ändern können, wird das Dokument in der _id Attribut durch zwei Unterattribute: Die _id des Geschäftsschlüssels, in diesem Fall ein Hash-Schlüsselund die Ldts des beschreibenden Dokuments:

Das obige Dokument beschreibt einen Kunden und bezieht sich daher auf den Hash-Schlüssel hk_Kunde_h des Geschäftsschlüsseldokuments des Kunden, in diesem Fall ein Hub-Dokument. 

Genau wie jedes andere Data Vault-Dokument enthält es eine rsrc Attribut, das die Quelle der Daten angibt. Aus diesem Grund ist das hd_kunden_info_s ist der Hash-Diff des Dokuments, d. h. der Hash-Wert, mit dem nachträgliche Änderungen an dem Dokument erkannt werden können. Bitte beachten Sie, dass wir diesen besonderen Aspekt in dieser Artikelserie nicht behandeln, da er im Rahmen des Prozesses optional ist. 

Die Unterstruktur rdv_kunden_info_s im obigen Beispiel enthält die Benutzerattribute, die den Geschäftsschlüssel für einen bestimmten Zeitpunkt beschreiben, z. B. den Zeitstempel des Ladedatums. Beachten Sie, dass diese Struktur mehrere Unterobjekte enthalten kann, nicht nur abgeflachte Attribute, wie in diesem Beispiel.

Bitte beachten Sie außerdem, dass sich diese beschreibenden Datenattribute in Unternehmensdaten häufig im Laufe der Zeit ändern; die Kunden im obigen Beispiel können ihre E-Mail-Adresse oder Telefonnummer, ihr Geschlecht und ihren Beruf ändern und möglicherweise heiraten, wodurch sich ihr Nachname und ihr Familienstand ändern. Die Anzahl der Kinder wird häufig aktualisiert, aber auch das Geburtsdatum des Kunden kann sich ändern. Wenn also die Quelldaten aus irgendeinem Grund falsch eingegeben wurden und sich die Datenqualität im Laufe der Zeit geändert hat, sollte das Satellitendokument Data Vault diese Änderungen widerspiegeln. 

Während ein operatives System das Dokument aktualisieren würde, sollte jede Änderung des Dokuments innerhalb einer data warehouse versioniert werden. Dies geschieht in der Satellitendokumentensammlung Data Vault. Allerdings ist es in diesem Fall nicht notwendig, Delta-Prüfungen durchzuführen, um tatsächliche Änderungen an den Quelldaten anhand der Attribute des Zielsatelliten zu ermitteln. Stattdessen ist es möglich, einfach ein beliebiges Quelldokument in den Satelliten zu laden und so die Nicht-Deltas. Der einzige Nachteil dieses Verfahrens ist, dass der Satellit mehr Speicherplatz verbraucht als nötig. 

Da die Satellitendokumente einen Geschäftsschlüssel oder eine Beziehung zwischen Geschäftsschlüsseln beschreiben, werden sie in derselben MongoDB-Sammlung wie das Hub- oder Link-Dokument gespeichert, und es ist keine zusätzliche Dokumentensammlung für Satellitendokumente erforderlich; sie werden als solche dargestellt:

Das obige Diagramm veranschaulicht, warum der Name der Satellitenstruktur von entscheidender Bedeutung ist, denn wenn später eine Funktion zum Zusammenführen und Reduzieren verwendet wird, wird sie das Hauptdokument, d. h. den Geschäftsschlüssel, mit den Satellitendokumenten, in diesem Fall den Beschreibungen, zusammenführen.

Es ist jedoch möglich, die Attribute zu einem späteren Zeitpunkt zu reduzieren und ein kombiniertes Dokument mit einem Geschäftsschlüssel sowie alle seine Beschreibungen mit den dazugehörigen Versionen von allen Satelliten abzurufen. Der Name des Satelliten in der Unterstruktur stellt sicher, dass doppelte Attributnamen, d. h. solche mit einem Vornamen aus mehreren Quellsystemen und somit aus mehreren Satelliten, kein Problem darstellen. 

Um die Satellitendokumente in den Hub oder die Linksammlung zu laden, werden in der Regel die folgenden Vorgänge durchgeführt:

Der Ladevorgang ist unkompliziert: Zunächst werden die beschreibenden Daten aus den Quellensammlungen entnommen, die Struktur des Zielsatelliten wird auf den eingehenden Dokumentensatz projiziert, um etwaige Satellitensplits durchzuführen, und dann werden die Daten in die Zielsammlung, in einigen Fällen eine Hub- oder Linksammlung, eingefügt. Bitte beachten Sie, dass in diesem Fall keine Delta-Prüfung durchgeführt wird, die optional ist und auf dem Hash-Diff basieren würde. 

Der MongoDB-Quellcode zum Laden eines solchen Satelliten wird im Folgenden vorgestellt:

Auch hier gilt, dass dieses Skript zwar den Hash-Diff-Wert berechnet, ihn aber derzeit nicht für irgendwelche Delta-Prüfungen verwendet. 

Damit ist unsere erste Serie über Data Vault auf MongoDB abgeschlossen. Wie wir bereits geschrieben haben, ist diese Arbeit Teil eines laufenden Projekts zwischen Scalefree und MongoDB zur Feinabstimmung dieser Aussagen, die in großem Umfang gemacht werden. 

Daher werden wir diese Artikel in naher Zukunft weiter aktualisieren. Bitte setzen Sie sich mit uns in Verbindung, wenn es in der Zwischenzeit Aktualisierungen gibt. Wenn Sie etwas zu den obigen Ausführungen beitragen möchten, können Sie gerne unten einen Kommentar hinterlassen.

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.

Scalefree

Eine Antwort hinterlassen

Menü schließen