Zum Hauptinhalt springen
Suche
0
Scalefree - Blog - Datenmodellierung - Satellitenmodellierung für strukturelle Änderungen im Quellensystem

Modellierung eines Satelliten im Falle struktureller Veränderungen innerhalb des Quellsystems

Im Laufe der Zeit kann sich ein Quellsystem verändern. Die Frage ist, wie sich solche Änderungen in ein Data Vault 2.0 Data Warehouse integrieren lassen – insbesondere im Hinblick auf Satelliten.

Wenn sich die Struktur einer Quelltabelle ändert, gilt es, ein ausgewogenes Verhältnis zwischen dem Reengineering-Aufwand und der Systemperformance zu finden. Um Anwender bei strukturellen Änderungen im Quellsystem bestmöglich zu unterstützen, stellt dieser Artikel unsere Empfehlungen zu verschiedenen Änderungsarten, basierend auf unserer Wissensbasis, vor.

Dieser Artikel beschreibt die Merkmale des Data Vault 2.0-Modells:Die grundlegenden Entitäten – Hub, Link und Satellite – lassen sich flexibel an Änderungen in den Quelldaten anpassen und reduzieren so den Reengineering-Aufwand im Enterprise Data Warehouses

Neue Spalten im Quellsystem: wenn neue Spalten oder Attribute dem Quellsystem hinzugefügt werden

Es gibt zwei Möglichkeiten, neue Attribute aus dem Quellsystem in das Data Warehouse zu übernehmen. Erstens kann der bestehende Satellit erweitert werden.
Dies ist ein pragmatischer Ansatz, erfordert jedoch Änderungen am bestehenden Code.
Andererseits ist es auch möglich, einen neuen Satelliten für das neue Attribut oder die neuen Attribute zu erstellen, ohne die bestehenden Satelliten zu ändern. Dies hat den Vorteil, dass es keine Anpassung am bestehenden Code erfordert – allerdings sind in der Informationsbereitstellung zusätzliche Joins notwendig.

Bei der ersten Option entfällt dieser zusätzliche Join, da das neue Attribut direkt dem bestehenden Satelliten hinzugefügt wird. Welche der beiden Optionen besser geeignet ist, hängt vom jeweiligen Anwendungsfall ab. Automatisierungstools können beispielsweise die SQL-Anweisung "ALTER TABLE" automatisch ausführen – ohne manuellen Codeaufwand, erfordern aber dennoch Änderungen auf Datenbankebene.

Entfernen von Spalten im Quellsystem (Spaltenlöschung) 

Eine Möglichkeit besteht darin, den „alten“ Satelliten zu schließen – das heißt, ihn nicht weiter zu beladen, indem der entsprechende ETL deaktiviert wird – und stattdessen einen neuen Satelliten mit der angepassten Struktur anzulegen und zu laden. Dieser Ansatz wird auch verwendet, wenn sich die zugrunde liegende Datenstruktur im Quellsystem umfassender ändert.
In solchen Fällen werden alte Satelliten stillgelegt und neue Satelliten mit der aktualisierten Struktur geladen.
Bei kleineren Änderungen, etwa dem Entfernen nur einer einzelnen Spalte, kann es sinnvoller sein, diese Spalte zu simulieren, etwa durch einen NULL-Wert oder durch einen Platzhalter, der für Zwecke der Nachvollziehbarkeit (Auditing) hilfreicher ist.

Wenn ein neuer Satellit erstellt wird, führt das in der zugehörigen PIT-Tabelle zu zwei neuen Spalten (Hash Key + LDTS). 

Das Schließen eines Satelliten und das Anlegen eines neuen Satelliten ist auch bei größeren Änderungen im Quellsystem möglich, z. B. bei einer neuen Release-Version des Quellsystems, bei der Spalten gelöscht, umbenannt und neu angelegt werden. Bei kleinen Änderungen, insbesondere wenn Spalten verschwinden, empfiehlt es sich, den Satelliten zu ändern.

Erstellen einer virtuellen Dimensionstabelle aus einer PIT-Tabelle mit mehreren Satelliten

Wenn für neue Attribute ein zusätzlicher Satellit erstellt wird, ohne den bestehenden zu verändern, ist eine neue virtuelle Dimensionstabelle erforderlich. Diese muss Informationen aus der PIT-Tabelle abrufen, wobei je nach Zeitstempel auf beide Satelliten zugegriffen wird.
Es gibt zwei Ansätze, wie sich die Informationen aus mehreren Satelliten zusammenführen lassen:

  • Der erste Ansatz besteht darin, einen berechneten Satelliten zu erstellen, in dem alle relevanten Satelliten kombiniert werden – jeweils mit dem neuesten Datensatz pro Hash Key und identischer Struktur. Dieser Ansatz kann jedoch zu komplexen Abfragen führen, insbesondere bei großen Datenmengen und einer hohen Anzahl zu verknüpfender Satelliten.
  • Der zweite Ansatz besteht darin, eine PIT-Tabelle für alle Satelliten zu verwenden und bei der Abfrage der Daten, z. B. für eine Dimensionstabelle, den Datensatz des führenden Satelliten zu nehmen, etwa mit einer IIF-Anweisung oder COALESCE -Funktion.

Fazit

Auch wenn jede Situation einen eigenen, kontextbezogenen Ansatz erfordert, haben sich die oben genannten Lösungen in unseren Projekten als äußerst wertvoll erwiesen.

Wir teilen sie, damit auch andere von den Erfahrungen profitieren können, die wir durch Tests, praktische Anwendung und Implementierung gesammelt haben.

Das Data Vault Handbuch

Gestalten Sie Ihren Weg zu einer skalierbaren und resilienten Datenplattform

Das Data Vault Handbook ist eine leicht verständliche Einführung in Data Vault. Es richtet sich an Datenexperten und bietet einen klaren, zusammenhängenden Überblick über die Grundprinzipien von Data Vault.

Jetzt das Buch lesen

Eine Antwort hinterlassen

Menü schließen