Was ist ein Data Lake?

11.06.2023 von Martin Heller und Florian Maier
Data Lake? Lesen Sie, was damit gemeint ist, wofür man ihn braucht und wie er sich von einem Data Warehouse unterscheidet.
Ein Data Lake ist für Big Data Analytics essenziell. Das sollten Sie zum Thema wissen.
Foto: ArtemisDiana - shutterstock.com

Im Jahr 2011 prägte James Dixon, damals CTO des Business-Intelligence-Unternehmens Pentaho, den Begriff Data Lake. Er beschrieb den Data Lake als Gegenstück zu den damals beliebten, siloartigen Data Marts:

Wenn man sich ein Data Mart als ein Warenlager für abgefülltes Trinkwasser vorstellt - gereinigt, verpackt und strukturiert für den einfachen Konsum -, dann ist der Data Lake Wasser in seinem unverpackten Zustand. Die Daten strömen in einen See, um ihn zu füllen. Die verschiedenen Benutzer des Data Lake können ihn untersuchen, Proben nehmen oder direkt eintauchen.

Seit diesem Statement haben sich Data Lakes entscheidend weiterentwickelt und konkurrieren mit Data Warehouses, wenn es um Big Data Storage und Analytics geht. Diverse Tools unterstützen schnellere SQL-Abfragen in Data Lakes, und alle großen Cloud-Anbieter haben inzwischen Data-Lake-Lösungen im Portfolio. Mit dem Data Lakehouse gibt es sogar ein Zwitter-Konzept, das Governance, Security und Analytics mit erschwinglichem Storage kombiniert.

Data Lake - Definition

Ein Data Lake ist im Wesentlichen ein singulärer Speicher, in dem alle Daten abgelegt werden, um sie für die Analyse bereitzustellen. Manchmal beherbergt ein Data Lake auch nur solche Daten, die nicht in ein Data Warehouse passen. Gespeichert werden sie für gewöhnlich in ihrem nativen Dateiformat. Allerdings können sie auch umgewandelt und vereinheitlicht werden, um effizientere Analysen zu ermöglichen. Die Zielsetzung eines Data Lake ist es, geschäftlichen (oder sonstigen analytischen) Nutzen aus Daten zu ermöglichen. Data Lakes können folgende Arten von Daten beinhalten:

Strukturierte Daten sind für die Analyse nützlicher, wobei sich halbstrukturierte Daten leicht in eine strukturierte Form bringen lassen. Unstrukturierte Daten können in vielen Fällen durch intelligente Automatisierung in strukturierte Daten verwandelt werden.

Data Lake vs. Data Warehouse vs. Data Mart

Die Frage ist nicht, ob Sie einen Data Lake oder ein Data Warehouse brauchen. Höchstwahrscheinlich brauchen Sie beides, aber für unterschiedliche Zwecke. Es ist auch möglich, Data Lake und Data Warehouse zu kombinieren. Betrachten wir zunächst die Hauptunterschiede zwischen Data Lakes und Data Warehouses:

Data Marts sind hingegen Analysedatenbanken, die sich auf die Daten einer Abteilung oder eines Geschäftsbereichs beschränken. Das steht im Gegensatz zu Data Warehouses, die alle relationalen Daten eines Unternehmens in einer analysefähigen Form zusammenfassen. Data Marts bieten effiziente Analysemöglichkeiten, da sie nur Daten enthalten, die für die jeweilige Abteilung relevant sind. Als solche sind sie von Natur aus siloartig aufgebaut. Das macht sich in der Praxis ungünstig bemerkbar: Es gibt immer einen Vorgesetzten, der Reportings benötigt, die auf kombinierten Daten aus mehreren Geschäftsbereichen basieren. Das ist ein Grund, warum es derzeit viele Data Lakes und Data Warehouses, aber nur wenige Data Marts gibt.

Data Lakes - schnellere SQL-Abfragen

Wenn Sie Rohdaten in einem Data Lake speichern, sind die Daten für Geschäftsanalysten möglicherweise unbrauchbar, bis sie von einem Data Engineer oder Data Scientist verarbeitet wurden. Zusätzlich zu Filterungs- und Datentransformations-Features benötigen Data Lakes auch Datenkataloge, Datensicherheit und Schemadefinitionen. Fehlen diese Funktionen handelt es sich um einen sogenannten Data Swamp (Datensumpf).

Glücklicherweise unterstützt eine ganze Reihe von Tools Sie dabei, die Daten in Ihrem Data Lake zu filtern und zu organisieren. Beispielsweise können Sie den Bedarf für ein Schema decken, indem Sie einen Hive-Metastore im ORC-Format erstellen. Sobald dieser eingerichtet ist, unterstützt er schnelle SQL-Abfragen über eine MPP-SQL-Engine wie Presto. Das ORC-Format (Optimized Row Columnar) ist ein komprimierter Columnar-Speicher, der für Hive optimiert ist und gut mit Presto funktioniert.

Apache Spark ist eine weitere, MPP-SQL-Engine. Sie kann zwar mit dem ORC-Format arbeiten, funktioniert aber noch besser mit Parquet, einem anderen Columnar-Speicher. Spark kann Parquet-Dateien sowohl vertikal als auch horizontal partitionieren und so einen Abfrageplan erstellen, der vorsieht, nur relevante Daten zu lesen und irrelevante zu überspringen.

Data Lakehouse - Definition

Databricks, das Unternehmen hinter Spark und MLflow, bietet ein sogenanntes Data Lakehouse an. Laut dem Anbieter werden hierbei die besten Eigenschaften von Data Warehouses und Data Lakes kombiniert:

"Die Lakehouse-Plattform kombiniert die besten Elemente von Data Lakes und Data Warehouses, um die Zuverlässigkeit, starke Governance und Leistung von Data Warehouses mit der Offenheit, Flexibilität und Unterstützung für Machine Learning von Data Lakes zu verbinden. Die Plattform fußt auf Open Source und offenen Standards und bietet so eine hohe Flexibilität. Der übergreifende Ansatz für Datenmanagement, Sicherheit und Governance hilft Anwendern, effizient zu arbeiten und Innovationen schnell voranzutreiben", behauptet Databricks auf seiner Webseite.

Das Herzstück des Data Lakehouse bildet Delta Lake, das von Databricks als Open Source freigegeben wurde. Die Lakehouse-Plattform umfasst auch den Unity Catalog, der granulare Governance-Funktionen für Daten und KI beinhaltet. Laut Databricks bietet sein Data Lakehouse im Vergleich zu einem Data Warehouse ein besseres Preis-Leistungs-Verhältnis.

Data Lakes - On-Premises und aus der Public Cloud

In der Vergangenheit wurden Data Lakes on-Premises mit Apache-Hadoop-Clustern auf handelsüblichen Computern und dem Hadoop Distributed File System (HDFS) implementiert. Entsprechend waren Hadoop-Cluster für Cloudera, Hortonworks und andere Unternehmen einst ein großes Geschäft. Im Jahr 2018 fusionierten Cloudera und Hortonworks, was Rückschlüsse über die Richtung zulässt, in die sich dieser Markt bewegt.

Maßgeblich zu dieser Entwicklung beigetragen hat die Cloud - und insbesondere die Hyperscaler Amazon Web Service (AWS), Microsoft (Azure) und Google Cloud (GCP). Alle drei bieten inzwischen Data-Lake-Produkte an:

Auch Services für Data Ingestion, Datenverarbeitung, Analytics und Machine Learning gehören zum Portfolio der großen Drei. Dabei ist es wesentlich einfacher und schneller, Cloud Data Lakes zu erstellen, zu managen und zu skalieren, als Hadoop-Cluster im eigenen Rechenzentrum zu verwalten. Der Nachteil der Cloud-Lösungen: Die langfristigen Betriebsausgaben werden sich irgendwann massiv summieren.

Data Lakes - Analytics- und Machine-Learning-Tools

Obwohl essenziell und oft der erste Schritt in Sachen Data Lake, ist SQL nur eine Möglichkeit, um Daten zu analysieren. An dieser Stelle sollten auch Business-Intellligence- und Deep-Learning-Tools in Betracht gezogen werden. Die Hyperscaler verfügen wiederum über eigene Analytics- und Machine-Learning-Tools, die mit den jeweiligen Data Lakes verbunden sind:

Dieser Beitrag basiert auf einem Artikel unserer US-Schwesterpublikation Network World.