Data Lakehouse: Die Bezeichnung ist eine Zusammensetzung aus Data Warehouse und Data Lake, denn diese beiden Konzepte standen Pate. Date Lakehouses eröffnen ungeahnte Perspektiven.
Data Warehouse und ETL – die klassische Lösung
Data Warehouses (DWH) sind ein wichtiges Werkzeug für der Data Analysts. Aus verschiedenen Systemen werden Daten extrahiert, in ein vordefiniertes Format transformiert und danach ins DWH geladen. ETL – so heißt diese Verarbeitungskette also extract-transform-load.
Data Warehouses wurden in den 90er Jahren modern. Ein Data Warehouse ist optimiert für die Analyse wohl-strukturierter Daten.
Ziel der Datentransformation ist das Star-Schema mit Fakten und Dimensionen. Sind die Daten sauber vereinheitlicht, dann gelingen die wertvollsten Datenanalysen.
Aus den 90ern stammen auch die Grenzen der DWHs: Sie skalieren vertikal. Die Festplatte wächst mit dem Datenvolumen. RAID-Systeme helfen, die Festplattenkapazität zu vergrößern.
Doch was tun, wenn selbst das RAID-System an seine Grenzen stößt?
Data Lakes
Nicht zuletzt dank des WWW brachen Daten in Fluten über uns her und schwemmten neue Technologien zum Speichern und Analysieren an: verteilte Daten Systeme, wie beispielsweise HDFS, das Hadoop Distributed Filesystem.
Ein Data Lake – das ist die Bezeichnung für die Menge der Daten in einem verteilten Big-Data-Filesystem.
Vergleichbar mit allen Daten auf unserem Laptop, aber halt in Big-Data-Dimension.
Zu Beginn der 10er Jahre lautete das Credo: Zuerst sammeln, dann analysieren. Die Fluten fassen, was wir damit tun, finden wir später heraus.
Datenanalyse im verteilten System
Es entstanden neue Tools, um Daten in verteilten Systemen zu analysieren. Das Spezielle an den Tools:
Die Programme werden zu den Daten getragen – die Analyse wird verteilt auf die einzelnen Rechner des verteilten Systems. Grundlage ist MapReduce. Hochkomplexe Systeme – entwickelt von tragfähigen Open Source Communities.
Apache Spark ist ein gutes Beispiel:
- Das Programm zur Datenanalyse wird im Spark-Driver in einen Ausführungsplan umgewandelt.
- Die Programme zur Analyse werden an die Worker geschickt.
- Auf jedem Worker liegt ein Teil der Daten.
- Der Driver koordiniert die oft komplexe Ausführung der verteilten Analyse und bereitet das Endergebnis auf.
Bei jeder Datenanalyse werden die Rohdaten zuerst transformiert und danach analysiert.
Es sind hochkomplexe Systeme und mittlerweile werden sie gerne dort eingesetzt, wo riesige Datenmengen schnell analysiert werden.
Es gibt eine ganze Reihe von Tools, die auf verteilten Systemen arbeiten. In den letzten 10 Jahren wurden sie laufend perfektioniert und die Reise ist noch nicht zu Ende.
ELT
Doch die Realität holt uns auch hier ein: zuverlässige Analyseergebnisse erzielen wir nur auf sauber bereinigten Daten. In einem Data Lake werden die Daten immer wieder transformiert – ein unnötiger Overhead.
Die Verarbeitungskette heißt jetzt ELT – extract-load-transform: Man hole die Daten aus dem Quellsystem, lade sie zuerst in den Data Lake und transformiere sie on demand für die jeweilige Analyse und das immer wieder für jede Analyse.
Data Lakehouses und ELT
Der Bedarf ist erkannt: Data Lakes haben zu wenig Struktur, wir benötigen ähnliche Eigenschaften wie bei Data Warehouses:
- Katalog mit Metadaten
- Struktur und Governance
- Bereinigte Daten in kontrollierten Formaten
Anders als ETL in klassischen Data Warehouses wird ELT in Data Lakes/Data Lakehouses gar in Echtzeit ermöglicht: Analyse Ergebnisse liegen also nahezu sofort vor. Und wir sind nicht beschränkt auf SQL sondern können Machine Learning Modelle nahtlos einbinden.
Data Warehouses vs. Data Lakehouses
Data Lakehouses ist also nicht einfach alter Wein in neuen Schläuchen. Die Tabelle zeigt die markantesten Unterschiede:
Klassisches Data Warehouse |
Data Lakehouse | |
---|---|---|
Skalierbarket | vertikal (RAID) | horizontal – verteilte Filesysteme |
Datenvolumen | GB-TB | TB – PB – ZB |
Datenformat | proprietär | offen |
Analytics Engine | proprietär – auch SQL | Open Source – auch SQL |
Machine Learning (KI) | nein | ja |
Echtzeit ETL / ELT | nein | ja |
Technologische Reife | hoch | jung – in Entwicklung |
Die Grenzen verwischen – das Wording ist unklar – was beispielsweise ist ein Cloud Data Warehouse? Die Marketing Abteilungen sind kreativ.
Die wichtigste Eigenschaft: Data Lakehouses arbeiten mit offenen Dateiformaten. Sind die Daten einmal transformiert, beispielsweise in ein Parquet-Format oder ein Delta Lake-Format, dann sind viele unterschiedliche Tools in der Lage, sie zu analysieren.
Neue Perspektiven für Data Lakes
Offene Systeme sind gefragt. Und so entstehen neue Cloud Dienstleistungen mit den folgenden Eigenschaften.
- Offene Datenformate für Tabellen, Texte, Bilder, Videos etc
- Offene Schnittstellen
- Metadatenkataloge
- Governance
- Nochvollziehbarkeit der Veränderungen: Data Lineage – wann wirkte was wie auf den Daten, um zum aktuellen Zustand und Ergebnis zu gelangen.
Dem Data Lake werden also Data Warehouse Eigenschaften verpasst und so entsteht ein Data Lakehouse.
Die Vorteile der Cloud
Ein neuer Schub an Entwicklungen steht uns bevor.
Und da alles Cloud basiert ist, soll es einfach werden, mit einem Klick und gezückter Kreditkarte den Service eines anderen cloudbasierten Providers auf den wohlpräparierten Daten im Lakehouse wirken zu lassen.
Beispielsweise das ultimativ gute Machine Learning Modell eines anderen Cloud Anbieters.