Modellierung eines Satelliten im Falle struktureller Veränderungen innerhalb des Quellsystems
Mit der Zeit werden die meisten Quellensysteme ändern.
Es stellt sich die Frage, wie diese Änderungen in die data warehouse auf der Grundlage der Data Vault übernommen werden können, insbesondere im Hinblick auf die Satelliten.
Es ist notwendig, ein Gleichgewicht zwischen dem Reengineering-Aufwand und der Leistung zu finden, wenn sich die Struktur der Quelltabelle ändert. Um denjenigen, die strukturelle Änderungen in Quellsystemen feststellen, besser zu helfen, werden in diesem Artikel unsere Empfehlungen für verschiedene Arten von Änderungen in einer Quelle vorgestellt, die auf unserer Wissensbasis basieren.
In diesem Artikel werden die Merkmale des Data Vault 2.0-Modells beschrieben: Die Grundlage der Hub-, Link- und Satellite-Entitäten kann leicht an Änderungen der Quelldaten angepasst werden, wodurch die Kosten für die Umstrukturierung des Unternehmens data warehouse reduziert werden.
Neue Spalten in der Quelle: Im Fall von neuen Spalten oder Attributen, die der Quelle hinzugefügt werden
Es gibt zwei Möglichkeiten, neue Attribute von der Quelle in den data warehouse zu übernehmen. Erstens könnte der bestehende Satellit geändert werden.
Dies ist ein pragmatischer Ansatz, der jedoch die Änderung von bestehendem Code erfordert.
Andererseits ist es auch möglich, einen neuen Satelliten für das neue Attribut bzw. die neuen Attribute zu erstellen, ohne die bestehenden Satelliten zu ändern. Dies hat den Vorteil, dass es keine Auswirkungen auf den Code hat, erfordert aber mehr Verbindungen in einem Teil des Data Vault für die Informationsübermittlung.
Bei der ersten Option ist diese Verknüpfung nicht erforderlich, da das neue Attribut dem vorhandenen Satelliten hinzugefügt wird. Am besten ist es, die Vor- und Nachteile der beiden Optionen in der jeweiligen Situation zu vergleichen, wie sie auf Ihre Situation zutrifft. Automatisierungswerkzeuge beispielsweise können die Anweisung "alter table" in der Regel automatisch und ohne manuellen Codierungsaufwand verarbeiten, erfordern aber Änderungen in der Datenbank.
Spalten in der Quelle entfernen: Wenn beispielsweise Spalten in der Quelle gelöscht werden
Eine Möglichkeit ist, den "alten" Satelliten zu schließen, d.h. nicht weiter zu laden, da die ETL Code ausgeschaltet ist, und einen neuen Satelliten erstellen, der geladen werden soll. Der gleiche Ansatz wird verwendet, wenn die zugrunde liegenden Datenstrukturen aus der Quelle in einer größeren Perspektive geändert werden.
Alte Satelliten werden abgeschaltet, neue Satelliten mit der neuen Struktur werden dann geladen.
Eine andere Option wäre sinnvoller, wenn nur geringfügige Änderungen erforderlich sind, z. B. das Entfernen einer Spalte. Dann wäre das "Simulieren" dieser Spalte mit einem NULL-Wert oder einem Wert, der mehr Sinn ergibt, für Prüfungszwecke hilfreicher.
Wenn ein neuer Satellit erstellt wird, ergeben sich daraus zwei neue Spalten in der zugehörigen PIT-Tabelle (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 Satellitendaten
Wenn ein neuer Satellit für das neue Attribut oder die neuen Attribute erstellt wird, ohne den bestehenden Satelliten zu ändern, ist eine neue virtuelle Dimension erforderlich, um Informationen aus den PIT-Tabellen abzurufen, wobei beide Satelliten entsprechend auf der Grundlage des erforderlichen Zeitstempels verwendet werden.
Es gibt zwei Ansätze, wie die Informationen aus den beiden Satelliten gewonnen werden können:
- Der erste Ansatz verwendet einen berechneten Satelliten, bei dem Sie alle Satelliten mit dem jüngsten Datensatz pro Hash Key und derselben Struktur kombinieren. Dies kann jedoch eine komplizierte Abfrage sein, da sie von der Menge der Daten und der Anzahl der zu verbindenden Satelliten abhängt.
- 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, z. B. mit einer IIF-Anweisung oder COALESCE Funktion.
Zusammenfassung
Auch wenn jede Situation einen Ansatz erfordert, der die individuelle Natur der Aufgabe berücksichtigt, haben sich die oben genannten Lösungen bei der Umsetzung in unseren eigenen Projekten als unerlässlich erwiesen.
Wir bieten sie an, damit auch andere von dem profitieren können, was wir durch unsere Tests, Anwendung und Umsetzung gelernt haben.
Fragen? Kommentare? Wir würden uns freuen, von Ihnen zu hören!
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.
Newsletter
Jeden Monat neue Erkenntnisse über Data Vault