Das Beste aus Data Lake und Data Warehouse
Data Lakehouse: Data Lake + Data Warehouse
Data Lakehouse ist ein relativ junger Datenmanagementansatz, mit dem sich enorme Datenmengen unter Berücksichtigung modernster BI-Lösungen verwalten lassen. Data Lakehouse zeichnet sich durch seine offene Architektur aus und vereint die Flexibilität und Kosteneffizienz von Data Lakes mit der kontextbezogenen und schnellen Abfragefunktion eines Data Warehouse. Durch diese Kombination können sowohl strukturierte als auch unstrukturierte Daten verarbeitet werden.
Data Lakehouses kommen im Zuge von Data Analytics oder beim Aufbau themenbezogener Data Marts, Dashboards oder Machine-Learning-Anwendungen zum Einsatz.
Technisch gliedert sich ein Data Lakehouse in drei Schichten:
- Rohdaten: Hier werden Daten aus verschiedenen Quellen im Rohformat im Data Lake gespeichert.
- Datenverarbeitung: Hier erfolgt die Datenbereinigung und Transformation in ein strukturiertes und nutzbares Format bzw. die Prüfung der Datenqualität und das Metadaten-Management.
- Datenzugriff: Die dritte Schicht beinhaltet verschiedene Schnittstellen, die den Zugriff und die Abfrage der Daten ermöglichen (z.B. SQL, Python, R oder REST APIs).
Durch eine Kombination von Schema-on-Write und Schema-on-Read-Ansätzen bietet Data Lakehouse eine einheitliche Sicht auf Daten, die aus verschiedenen Quellen generiert werden. Diese erlaubt Benutzern, Daten mit ihren bevorzugten Tools und Sprachen abzufragen und zu analysieren.
Azure Synapse: Data Lake, DWH und Data Lakehouse in einem
Mittlerweile sind verschiedene Data Lakehouse Technologien auf dem Markt. Zu den Pionieren auf dem Gebiet zählten Databricks mit Spark & Hadoop, danach lancierten Microsoft, Google und Amazon ihre Data Lakehouse Lösungen. Derzeit bieten auch kleinere Anbieter, wie zum Beispiel Snowflake, einen cloud-agnostischen High-Performance-Ansatz.
Microsoft bietet beispielsweise mit Azure Synapse Analytics eine Cloud-DWH-Lösung, die (als rein cloud-basierte Plattform) Datenintegration, Data Warehousing und Big Data Analyse in einer einzigen Lösung zusammenführt. So ermöglicht Azure Synapse Analytics Benutzern das Extrahieren von Daten aus verschiedenen Quellen, um sie im Anschluss zu transformieren und zu analysieren. Es ist in der Lage, sowohl traditionelle Data-Warehouse-Abfragen als auch Big Data-Analysen durchzuführen und verfügt sogar über integrierte Tools zur Erstellung von Machine-Learning-Modellen.
Azure Synapse Analytics bietet eine vollständige Integration mit Azure Data Lake Storage inkl. Echtzeit-Analyse. Dank der Serverless Komponenten von Azure Synapse sind Unternehmen nicht mehr gezwungen, monatlich tausende Franken für DWH-Kapazitäten auszugeben, die vermutlich ohnehin wenig genutzt werden. Dank Serverless zahlt man nur die Leseaktivitäten, mit denen Daten für Analysezwecke vom Data Lake abgerufen werden.
Zusammenfassend führt Azure Synapse Analytics die Data Lakes und Data Warehouses in einer einzigen Data Lakehouse Lösung zusammen. Dadurch können Unternehmen ihre Daten effizienter verwalten und fundierte Entscheidungen treffen.
Was spricht trotzdem für die Nutzung eines DWH?
Liest man nun von den Vorteilen eines Data Lakehouse, stellt sich die Frage, warum Unternehmen heute überhaupt noch in eine traditionelle Data Warehouse Lösung investieren sollten. Ein Hauptargument für ein DWH, das wir oft bei Kunden vortreffen, ist die Konsolidierung von verschiedenen Datenquellen. Diese Funktion bieten mittlerweile viele Tools an – einige davon sogar live. Datenvirtualisierungstools, wie etwa Starburst, glänzen mit ihren Query- und Caching-Algorithmen und legen eine fantastische Performance an den Tag. Auch Microsoft Power BI ist eine gute Alternative, um verschiedene Datenquellen zu vereinen.
Ein anderes Feature, das oft für die Begründung von Data Warehouse Ansätzen verwendet wird ist die Historisierung von Daten. Schliesslich wollen Geschäftsführer nicht nur wissen, wie es heute oder morgen um ihr Unternehmen steht, sondern möchten auch rückblickend auf die letzten sechs Monate schauen und herausfinden, was gut und was weniger gut gelaufen ist.
Wenn sich Daten jedoch ständig ändern (z.B. durch Verschiebungen von Lieferterminen, Anpassung von lieferbaren Stückzahlen durch Lieferanten etc.), kann man ohne die Historisierung von Daten unmöglich verstehen, warum sich ein Unternehmen so und nicht anders entwickelt hat. Eine Art Zeitmaschine wäre hier sinnvoll – oder die Historisierungsfunktion, die eine Analyse der Betriebskennzahlen von vor 3, 6, 12 etc. Monaten ermöglicht.
Eine saubere Historisierung von Daten ist jedoch nicht nur in einem komplexen DWH-Konstrukt, sondern auch im Data Lake, möglich.
Delta Lake: Historisierung und Datenmanagement im Data Lake
Wie baut man nun eine Historisierung in einen Data Lake ein und wie kann man dabei zwischen aktuellen und historischen Daten unterscheiden? Die Lösung hierfür lautet Delta Lake bzw. genauer gesagt «Delta Live Tables». Delta Live Tables ermöglichen die Change Data Capture (CDC) einer Source, wobei die jeweiligen Anpassungen mit Start- und End-Zeitstempeln versehen und direkt in der Delta Datei gespeichert werden.
Entwickelt wurde das Delta Dateiformat von Databricks und gilt mittlerweile als Open Source Standard, der in den meisten Data Lakehouse Technologien implementiert wird. Delta Lake ermöglicht ACID Transactions (atomicity, consistency, isolation, and durability) und somit eine Reihe an wichtigen Datenmanagement-Tasks, wie z.B. die Historisierung von Daten und Datenschemas, die transparente Umbenennung von Spalten, eingebaute Abhängigkeitsbedingungen und vieles mehr. Das Beste daran? Azure Synapse unterstützt die Auswertung von Delta Dateien in einem kostengünstigen Serverless SQL Angebot sowie die Bearbeitung von Delta Dateien durch integrierte Spark Pools. Dank Delta Dateien bietet Snowflake allen Kunden ein 24h Time Travel Feature an. Enterprise Kunden können Time Travel (ohne eine eigene Historisierungslogik einbauen zu müssen) bis zu 90 Tage lang in Anspruch nehmen.
Workshop: «Creating a modern Lakehouse»
Sie möchten mehr über Data Lakehouse und Delta Lakes erfahren? Oder selbst ein Lakehouse aufbauen? Dann besuchen Sie am 22.06.2023 um 13:00 Uhr den Hands-on Workshop «Data Lakehouse: Creating a Modern Lakehouse», den mein Kollege Nicolas Rehder und ich, im Rahmen der Swiss Data Science Conference halten.