Archiv

Archive for Juni 2019

Virtual Data Warehousing Training von Roelant Vos

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 …

Roelant Vos

Da Roelant Vos Data Vault nur ganz kurz erklärt, empfiehlt es sich jedoch vor diesem Training einen der folgenden Kurse besucht zu haben:

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:

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!
Quelle: http://roelantvos.com/blog/design-decisions/

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.