Veröffentlicht am

Von Data Warehouse zum Data Lakehouse

Data Lakehouse

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?

Klassisches Data Warehouse
Daten werden aus den Quellsystemen extrahiert, in der Staging Area ins vordefinierte Star-Schema transformiert und anschließend zur Auswertung ins Data Warehouse geladen.

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:

Apache Spark-Architektur
Spark unterstützt Python, R, Scala, Java und SQL
  • 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
ELT im Data Lakehouse
ELT im Data Lakehouse - stark vereinfachte Darstellung.

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.

  • Data Engineering ist ja nicht Selbstzweck. Vielmehr dient es dazu, aus Daten Nutzen zu ziehen. Künstliche Intelligenz wurde möglich, dank sorgfältigem Data Engineering.

  • Chatbot als Lernassistent
  • Prompt Engineering Personas und Wiederholungen
  • AI-Engineering-Fachglossar
  • EBook Tutorial: Cluster aus virtuellen Maschinen
  • Ebook: Apache ZooKeeper
  • Ebook: Realtime Streaming Pipelines
  • LSM-Trees: Log Structured Merge Trees
  • Aufbau einer Enterprise Search
  • Zeit Stream Analytics
  • B-Tree-Index in Datenbanken
  • Ordering Guarantee in Apache Kafka
  • CAP Theorem
  • MapReduce Funktionale Programmierung
  • Konzepte des HDFS
  • Optimistisches Concurrency Control
  • Data Engineering ist ja nicht Selbstzweck. Vielmehr dient es dazu, aus Daten Nutzen zu ziehen. Künstliche Intelligenz wurde möglich, dank sorgfältigem Data Engineering.

  • LLM-Tipps & Fachglossar

    Abonniere meinen Newsletter, erhalte regelmäßig Tipps und Tricks über den produktiven Einsatz von LLMs und ich schenke dir mein umfangreiches Fachglossar Von AI-Engineering bis Zero-Shot