Ein Maven-Plugin um ein DataVault2.0-DataWarehouse aus einer XML-Konfiguration zu erzeugen.
Motivation
Ein Data Vault 2.0 Data Warehouse besteht aus vielen Datenbankartefakten, die auf konsistente Art definiert sein müssen. Außerdem müssen die Skripte zum Laden der Daten automatisiert werden.
Eine Möglichkeit diese Ziele zu erreichen ist es, dbt als Datenbank-Tool zu verwenden und AutomateDV um die Artefakte zu beschreiben.
dbt Core ist ein Open-Source-Tool zur Transformation von Daten.
AutomateDV ist eine dbt-Package, die die Skripte bereitstellt, die für ein DataVault2.0-DataWarehouse benötigt werden.
Aber auch mit diesem Toolset gibt es noch eine Menge an Redundanz bei der Beschreibung der Artefakte.
Mit dv2gen-maven-plugin beschreibt man das DataWarehouse in einer XML-Konfiguration und benutzt das Plugin um alle benötigten Artefakte zur Definition und zum Betrieb des DataWarehouse zu generieren.
Abhängigkeiten
dv2gen-maven-plugin nutzt Saxon um die DataWarehouse-Skripte zu generieren.
Die generierten DataWarehouse-Skripte nutzen
- Postgres
- dbt
- AutomateDV
Features
Das Plugin verwendet die XML-Konfiguration und generiert Definitionen für
- DB-Skripte zum Laden der Daten aus CSV-Dateien
- Hubs
- Links
- Satellites
- Multi-Active Satellites (Macro ma_sat von AutomateDV)
- Extended Tracking Satellites (Macro xts von AutomateDV)
- Views auf die Links und Satelliten
- und mehr
Dokumentation
Das dv2gen-maven-plugin ist auf Maven Central veröffentlicht und kann so direkt in eigenen Maven-Projekten verwendet werden.
Die Sourcen von dv2gen-maven-plugin habe ich auf github abgelegt. Dort gibt es auch ein Wiki, in dem gerade eine Dokumentation entsteht.
Auch auf github gibt es ein Beispiel-Projekt zur Verwendung von dv2gen-maven-plugin: dv2gen-example
dv2gen-maven-plugin ist die Weiterentwicklung des Tools GenRawVault, das ich bereits in mehreren Artikeln beschrieben habe:
- Ein DWH mit git, Linux, Docker, PostgreSQL, dbt und AutomateDV
- GenRawVault: wie man aus einer Steuerdatei ein ganzes DWH generieren kann
- DRY and CoC
- Multi-Active Satellites in GenRawVault
- Wenn Datensätze verschwinden …
Wenn Sie Fragen dazu haben, sprechen Sie mich an!
Schreibe einen Kommentar