This post was originally published on this site
Vom 19.-21. Juni 2019 habe ich in Utrecht (Holland) am Training „Virtual Data Warehousing – Implementation and Automation“ von Roelant Vos teilgenommen. Mein Fazit vorweg: Das Training ist klasse und jeden Cent wert. Ich kann das jeder/jedem nur weiterempfehlen! Doch der Reihe nach …

Da Roelant Vos Data Vault nur ganz kurz erklärt, empfiehlt es sich jedoch vor diesem Training einen der folgenden Kurse besucht zu haben:
- Data Vault Modelling: https://www.geneseeacademy.com/courses
- Data Vault 2.o: https://www.scalefree.com/
Der Kurs Virtual Data Warehousing besteht aus einer Mischung von Theorie, Demos und Hands-On-Workshops und vermittelt wie ein Virtual Data Warehouse implementiert und automatisiert werden kann. Extrem cool finde ich, dass Roelant viele Dinge als Open Source bereitstellt und dadurch versucht eine Community aufzubauen:
- Siehe http://roelantvos.com/blog/collaboration/
- Das Data Integration Run-time Execution Control Tool (DIRECT) ist ein generisches Execution- und Control Framework, welches die Ausführung der ETL Prozesse orchestriert.
- Taxonomy for ETL Automation Metadata (TEAM) ist ein Verwaltungs- resp. Management-Tool für die Data Vault Metadaten, eine Komponente passend zur VEDW Software
- Und mit Hilfe von VEDW können Änderungen einfach und schnell generiert und ausprobiert werden.

Das Virtual Data Warehouse, wie es Roelant Vos erklärt, erlaubt es das Data Warehouse zu überarbeiten (to be refactored) und komplett neu zu laden und zwar in einer deterministischen (vorhersagbaren) Art und Weise. Dies wird durch die Verwendung einer Persistent Staging Area (PSA) erreicht. In dieser PSA werden alle Daten auf dem untersten Level (Granularität) jeweils als Delta gespeichert, also als CREATE, UPDATE und DELETE Records. Auch werden die LoadDate-Timestamps bereits in der PSA abgelegt. Wenn das Quellsystem die Daten jeweils als Snapshot (FULL) liefert, kann mit einem CDC-Interface (Change Data Capture) gearbeitet werden um die Daten für die PSA aufzubereiten. Dabei werden ausschliesslich Hard Rules angewendet, wie z.B. die korrekte Formatierung des Datums etc. Soft Rules, welche die Daten interpretieren oder ableiten sind innerhalb der PSA nicht erlaubt. Die PSA ist eine notwendige Komponente für das Virtual Data Warehouse. Eine transiente Staging Area kann der PSA vorgeschaltet werden. Ggf. können die Satelliten (SAT) des Raw Vaults als Views auf die PSA implementiert werden.
Wir haben im Kurs gelernt:
- Wie die Architektur eines Virtuellen Data Warehouses aussehen kann
- Welche Patterns es gibt (Patterns based design)
- Warum es eine PSA benötigt
- Welche Optionen es bei der Implementierung eines Data Vaults (Raw Vault und Business Vault) gibt und dass es nicht nur die eine, richtige Lösung gibt
- Wie wir mit Metadaten und einem Generator (z.B. HandleBars) alles selbst generieren können
- Wie ETL automatisiert generiert werden kann
- Wie Ladejobs orchestriert, automatisiert und parallelisiert werden können
- Dass alles DevOps fähig implementiert werden kann und soll
- Wenn JSON Files für die Mappings zwischen Quelle und Ziel generiert werden, dann können diese in einer Source-Code Verwaltung wie z.B Git gespeichtert werden. Das ist eine wichtige Voraussetzung für die Automatisierung mit DevOps.
- Dass es möglich ist einen Teil der Daten nachträglich zu laden und trotzdem die Daten in der richtigen Reihenfolge ausgewertet werden können
- All is about iterations and DevOps!

Wie eingangs erwähnt: Ich darf mich glücklich schätzen, dieses Training besucht zu haben und kann die von Roelant Vos vorgestellte Vorgehensweisen nur weiterempfehlen.
Und zum Schluss noch ein Tipp: Am 2. Juli 2019 gibt es ein Meetup der deutschsprachigen Data Vault User Group (DDVUG) zum Thema Data Vault Options & Considerations mit Roelant Vos.