Direkt zum Hauptinhalt

Data Lakehouse

DATABRICKS KOSTENLOS TESTEN

Was ist ein Data Lakehouse?

Ein Data Lakehouse ist eine neuartige, offene Datenverwaltungsarchitektur, die die Flexibilität, Kosteneffizienz und Skalierbarkeit von Data Lakes mit Datenverwaltungsfunktionen und ACID-Transaktionen von Data Warehouses kombiniert und so Business Intelligence (BI) und maschinelles Lernen (ML) auf Grundlage aller Daten ermöglicht.

Das Data Lakehouse: einfach, flexibel, günstig

Grundlage von Data Lakehouses ist ein neuartiges, offenes Systemdesign: die direkte Implementierung von Datenstrukturen und Datenverwaltungsfunktionen, die jenen eines Data Warehouse ähneln, auf kostengünstigem Speicher, wie er für Data Lakes verwendet wird. Das Zusammenführen zu einem einzigen System beschleunigt die Arbeit der Datenteams, da sie Daten jetzt nutzen können, ohne mehrere Systeme abfragen zu müssen. Data Lakehouses stellen außerdem sicher, dass den Teams jederzeit die vollständigsten und aktuellsten Daten für Data Science, maschinelles Lernen und Business Analytics vorliegen. Entwicklung der Datenspeicherung vom Data Warehouse über den Data Lake bis hin zum Data Lakehouse

Schlüsseltechnologien des Data Lakehouse

Es gibt einige wesentliche technische Entwicklungen, die das Data Lakehouse möglich gemacht haben:

  • Metadatenebenen für Data Lakes
  • Neue Designs für Abfrage-Engines, mit denen eine leistungsstarke Ausführung von SQL-Abfragen auf Data Lakes möglich geworden ist
  • Optimierter Zugang zu Data-Science- und Machine-Learning-Tools

Metadaten-Layer wie das quelloffene Delta Lake basieren auf Open-Source-Dateiformaten (z. B. Parquet-Dateien). Sie erfassen, welche Dateien Bestandteil verschiedener Tabellenversionen sind, und können so umfassende Funktionen wie ACID-kompatible Transaktionen anbieten. Die Metadaten-Layer machen weitere von Data Lakehouses bekannte Funktionen möglich, etwa die Unterstützung von Streaming-I/O (wodurch der Bedarf an Message-Bussen wie Kafka entfällt), Zeitreisen zu alten Tabellenversionen, Schemaerzwingung und -evolution sowie Datenvalidierung. Performance ist der Schlüssel dafür, dass Data Lakehouses zur vorherrschenden Datenarchitektur in Unternehmen werden können, denn sie ist einer der Hauptgründe dafür, dass Data Warehouses in der 2-Schicht-Architektur existieren. Während der Zugriff auf Data Lakes bei Verwendung kostengünstiger Objektspeicher in der Vergangenheit noch vergleichsweise langsam war, ermöglichen neue Abfrage-Engines heute leistungsstarke SQL-Analysen. Zu diesen Optimierungen gehören die Zwischenspeicherung heißer Daten (die im Bedarfsfall zuvor in effizientere Formate umkodiert werden) im RAM bzw. auf SSD, Optimierungen des Datenlayouts zum Clustern gemeinsam genutzter Daten, Hilfsdatenstrukturen wie Statistiken und Indizes und die vektorisierte Ausführung auf modernen CPUs. Durch die Kombination dieser Technologien können Data Lakehouses auf der Grundlage von TPC-DS-Benchmarks eine Performance bei großen Datasets erzielen, die durchaus mit der des beliebten Data Warehouse mithält. Die offenen Datenformate, die von Data Lakehouses (wie Parquet) verwendet werden, machen es Data Scientists und Machine Learning Engineers sehr einfach, auf die Daten im Lakehouse zuzugreifen. Sie können im DS/ML-Ökosystem beliebte Tools wie Pandas, TensorFlow, PyTorch und andere verwenden, die bereits auf Quellen wie Parquet und ORC zugreifen können. Spark-DataFrames bieten sogar deklarative Schnittstellen für diese offenen Formate, die eine weitere I/O-Optimierung ermöglichen. Weitere Features eines Data Lakehouse – wie Audit-Verlauf und Zeitreise – tragen ebenfalls zur Verbesserung der Reproduzierbarkeit beim maschinellen Lernen bei. Weitere Informationen zu den technologischen Fortschritten, die der Umstellung auf das Data Lakehouse zugrunde liegen, finden Sie im CIDR-Artikel Lakehouse: A New Generation of Open Platforms that Unify Data Warehousing and Advanced Analytics sowie in einem weiteren wissenschaftlichen Artikel namens Delta Lake: High-Performance ACID Table Storage over Cloud Object Stores.

Geschichte der Datenarchitekturen

Hintergrundinformationen zu Data Warehouses

Data Warehouses haben bei Anwendungen für Entscheidungsfindung und Business Intelligence eine lange Tradition, waren allerdings nicht geeignet oder aber zu teuer für die Verarbeitung unstrukturierter, teilstrukturierter und hochgradig heterogener Daten, die in entsprechender Menge und Geschwindigkeit anfallen.

Entstehung von Data Lakes

Data Lakes entstanden dann, um Rohdaten für Data Science und Machine Learning in einer Vielzahl von Formaten auf preisgünstigem Speicher zu verarbeiten. Allerdings fehlen ihnen entscheidende Merkmale aus der Welt der Data Warehouses: Sie unterstützen keine Transaktionen, erzwingen keine Datenqualität, und das Fehlen von Konsistenz/Isolation macht es fast unmöglich, Anfüge- und Lesevorgänge sowie Batch- und Streaming-Jobs gemischt zu verwalten.

Die übliche zweistufige Datenarchitektur

Datenteams fügen diese Systeme folglich zusammen, um BI und ML datenübergreifend mit beiden Systemen zu ermöglichen. Hierdurch entstehen Datendubletten, Infrastrukturmehrkosten, Sicherheitsprobleme und beträchtliche Betriebskosten. In einer zweistufigen Datenarchitektur werden Daten per ETL von den Betriebsdatenbanken in einen Data Lake übertragen. Der Data Lake speichert die Daten des gesamten Unternehmens in einem kostengünstigen Objektspeicher. Dabei erfolgt die Speicherung in einem Format, das mit gängigen Tools für maschinelles Lernen kompatibel ist, aber oft nur unzureichend organisiert und verwaltet wird. Nun wird ein kleiner Teil der kritischen Geschäftsdaten noch einmal per ETL in das Data Warehouse für Business Intelligence und Data Analytics geladen. Aufgrund des Auftretens mehrerer ETL-Schritte erfordert diese zweistufige Architektur regelmäßige Wartung und bietet oft nur veraltete Daten, was laut aktuellen Umfragen von Kaggle und Fivetran ein großes Problem für Datenanalysten und Data Scientists gleichermaßen ist. Weitere Informationen über die häufigsten Probleme mit der zweistufigen Architektur.

Zusätzliche Ressourcen

Zurück zum Glossar