Definition

Data Lake

Ein Data Lake ist ein Speichersystem, das eine große Menge an Rohdaten in ihrem ursprünglichen Format speichert, bis sie für Analyseanwendungen benötigt werden. Während ein herkömmliches Data Warehouse Daten in hierarchischen Dimensionen und Tabellen speichert, verwendet ein Data Lake eine flache Architektur zum Speichern von Daten, hauptsächlich in Dateien oder Objektspeicher. Dadurch erhalten die Benutzer mehr Flexibilität bei Datenmanagement, -speicherung und -nutzung.

Data Lakes werden häufig mit Hadoop-Systemen in Verbindung gebracht. Bei Implementierungen, die auf dem verteilten Processing Framework basieren, werden die Daten in das Hadoop Distributed File System (HDFS) geladen und auf den verschiedenen Computerknoten in einem Hadoop-Cluster gespeichert. Zunehmend werden Data Lakes jedoch auf Cloud-Objektspeicherdiensten anstelle von Hadoop aufgebaut. Einige NoSQL-Datenbanken werden ebenfalls als Data-Lake-Plattformen verwendet.

Warum verwenden Unternehmen Data Lakes?

In Data Lakes werden in der Regel große Datenmengen gespeichert, die eine Kombination aus strukturierten, unstrukturierten und semistrukturierten Daten enthalten können. Solche Umgebungen sind für relationale Datenbanken, auf denen die meisten Data Warehouses basieren, nicht geeignet. Relationale Systeme erfordern ein starres Schema für Daten, wodurch sie in der Regel auf die Speicherung strukturierter Transaktionsdaten beschränkt sind. Data Lakes unterstützen verschiedene Schemata und müssen nicht im Voraus definiert werden. Dadurch können sie verschiedene Datentypen in unterschiedlichen Formaten verarbeiten.

Infolgedessen sind Data Lakes in vielen Unternehmen eine wichtige Komponente der Datenarchitektur. Unternehmen nutzen sie in erster Linie als Plattform für Big-Data-Analysen und andere Data-Science-Anwendungen, die große Datenmengen erfordern und fortschrittliche Analysetechniken wie Data Mining, prädiktive Modellierung und maschinelles Lernen beinhalten.

Ein Data Lake ist ein zentraler Ort für Datenwissenschaftler und Analysten, um relevante Daten zu finden, aufzubereiten und zu analysieren. Ohne ein solches System ist dieser Prozess komplizierter. Außerdem ist es für Unternehmen schwieriger, den vollen Nutzen aus ihren Datenbeständen zu ziehen, um fundiertere Geschäftsentscheidungen und -strategien zu treffen.

Architektur eines Data Lake

In Data Lakes können viele Technologien eingesetzt werden, und Unternehmen können sie auf unterschiedliche Weise kombinieren. Das bedeutet, dass die Architektur eines Data Lake oft von Unternehmen zu Unternehmen unterschiedlich ist. So kann ein Unternehmen beispielsweise Hadoop mit der Processing Engine Spark und HBase, einer NoSQL-Datenbank, die auf HDFS läuft, einsetzen. Ein anderes Unternehmen kann Spark für Daten anwenden, die in Amazon Simple Storage Service (S3) gespeichert sind. Ein dritter wählt wiederum andere Technologien.

Außerdem speichern nicht alle Data Lakes nur Rohdaten. Einige Datensätze können gefiltert und für die Analyse verarbeitet werden, wenn sie eingelesen werden. Wenn dies der Fall ist, muss die Data-Lake-Architektur dies ermöglichen und genügend Speicherkapazität für aufbereitete Daten bieten. Viele Data Lakes enthalten auch Analyse-Sandboxen, das heißt dedizierte Speicherbereiche, die einzelne Datenwissenschaftler für die Arbeit mit Daten nutzen können.

Drei wesentliche architektonische Prinzipien unterscheiden Data Lakes jedoch von konventionellen Data Repositories:

  • Keine Daten müssen weggeschickt werden. Alles, was von den Quellsystemen gesammelt wird, kann auf Wunsch in einen Data Lake geladen und dort gespeichert werden.
  • Die Daten können in einem unveränderten oder nahezu unveränderten Zustand gespeichert werden, so wie sie vom Quellsystem empfangen wurden.
  • Diese Daten werden später transformiert und je nach Bedarf in ein Schema eingepasst, das auf spezifischen Analyseanforderungen basiert – ein Ansatz, der als Schema-on-Read bekannt ist.

Unabhängig davon, welche Technologie in einem Data Lake zum Einsatz kommt, sollten auch einige andere Elemente berücksichtigt werden, um sicherzustellen, dass der Data Lake funktionsfähig ist und dass die darin enthaltenen Daten nicht verloren gehen. Dazu gehören:

  • Eine gemeinsame Ordnerstruktur mit Namenskonventionen.
  • Ein durchsuchbarer Datenkatalog, der den Benutzern das Auffinden und Verstehen der Daten erleichtert.
  • Eine Datenklassifizierungstaxonomie zur Identifizierung sensibler Daten mit Informationen wie Datentyp, Inhalt, Nutzungsszenarien und möglichen Benutzergruppen.
  • Tools zur Erstellung von Datenprofilen, die Aufschluss über die Klassifizierung von Daten und die Identifizierung von Datenqualitätsproblemen geben.
  • Ein standardisiertes Datenzugriffsverfahren, um zu kontrollieren und zu verfolgen, wer auf die Daten zugreift.
  • Datensicherheit, wie zum Beispiel Datenmaskierung, Datenverschlüsselung und automatische Nutzungsüberwachung.

Das Datenbewusstsein der Nutzer eines Data Lake ist ebenfalls ein Muss, insbesondere wenn es sich um Geschäftsanwender handelt, die als Citizen Data Scientists agieren. Die Benutzer müssen nicht nur darin geschult werden, wie sie im Data Lake navigieren können, sondern sie müssen auch die richtigen Datenmanagement- und Datenqualitätstechniken sowie die Data-Governance- und Nutzungsrichtlinien des Unternehmens verstehen.

Data-Lake-Architektur
Abbildung 1: Dies ist ein Beispiel für ein Architekturdiagramm für einen Data Lake, der erweiterte Analysen unterstützt.

Data Lake versus Data Warehouse

Die größten Unterschiede zwischen Data Lakes und Data Warehouses liegen in der Unterstützung von Datentypen und im Umgang mit Schemata. In einem Data Warehouse, das hauptsächlich strukturierte Daten speichert, ist das Schema für die Datensätze vorgegeben, und es gibt einen Plan für die Verarbeitung, Transformation und Verwendung der Daten, wenn sie in das Warehouse geladen werden. Das ist bei einem Data Lake nicht unbedingt der Fall. Er kann verschiedene Datentypen beherbergen und muss kein definiertes Schema für diese Daten oder einen spezifischen Plan für die Verwendung der Daten haben.

Um die Unterschiede zwischen den beiden Plattformen zu verdeutlichen, sollte man sich ein reales Lagerhaus im Vergleich zu einem See vorstellen. Ein See ist flüssig, beweglich, amorph und wird von Flüssen, Bächen und anderen ungefilterten Wasserquellen gespeist. Im Gegensatz dazu ist ein Lagerhaus eine Struktur mit Regalen, Gängen und ausgewiesenen Plätzen für die Lagerung der darin befindlichen Gegenstände, die gezielt für bestimmte Zwecke beschafft werden.

Data Lake versus Data Warehouse
Abbildung 2: Ein Vergleich von Data Lakes und Data Warehouses.

Dieser konzeptionelle Unterschied manifestiert sich auf verschiedene Weise, unter anderem in den folgenden Punkten:

Technologieplattformen. Eine Data-Warehouse-Architektur umfasst in der Regel eine relationale Datenbank, die auf einem herkömmlichen Server läuft, während ein Data Lake in der Regel in einem Hadoop-Cluster oder einer anderen Big-Data-Umgebung eingesetzt wird.

Datenquellen. Die in einem Data Warehouse gespeicherten Daten werden in erster Linie aus internen Transaktionsverarbeitungsanwendungen extrahiert, um grundlegende Business-Intelligence- (BI) und Berichtsabfragen zu unterstützen, die häufig in zugehörigen Data Marts ausgeführt werden, die für bestimmte Abteilungen und Geschäftsbereiche erstellt wurden. Data Lakes speichern in der Regel eine Kombination von Daten aus Geschäftsanwendungen und anderen internen und externen Quellen, wie zum Beispiel Websites, IoT-Geräte, soziale Medien und mobile Anwendungen.

Benutzer. Data Warehouses sind nützlich für die Analyse von kuratierten Daten aus operativen Systemen durch Abfragen, die von einem BI-Team oder Unternehmensanalysten und anderen Self-Service-BI-Nutzern geschrieben werden. Da die Daten in einem Data Lake oft unkuratiert sind und aus verschiedenen Quellen stammen, sind sie für den durchschnittlichen BI-Benutzer im Allgemeinen nicht geeignet. Stattdessen eignen sich Data Lakes besser für Data Scientists, die über die nötigen Fähigkeiten verfügen, um die Daten zu sortieren und ihnen Bedeutung zu entlocken.

Datenqualität. Die Daten in einem Data Warehouse werden im Allgemeinen als eine einzige Quelle der Wahrheit (Single Source of Truth) angesehen, da sie konsolidiert, vorverarbeitet und bereinigt wurden, um Fehler zu finden und zu beheben. Die Daten in einem Data Lake sind weniger zuverlässig, da sie oft aus verschiedenen Quellen bezogen und in ihrem Rohzustand belassen werden, ohne zuvor auf Genauigkeit und Konsistenz geprüft worden zu sein.

Agilität und Skalierbarkeit. Data Lakes sind hochflexible Plattformen: Da sie Standard-Hardware verwenden, können sie bei Bedarf neu konfiguriert und erweitert werden, um veränderten Daten- und Geschäftsanforderungen gerecht zu werden. Data Warehouses sind aufgrund ihrer starren Schemata und vorbereiteten Datensätze weniger flexibel.

Sicherheit. Data Warehouses verfügen über ausgereiftere Sicherheitsvorkehrungen, da sie schon länger existieren und in der Regel auf Mainstream-Technologien basieren, die ebenfalls schon seit Jahrzehnten im Einsatz sind. Die Sicherheitsmethoden für Data Lakes werden jedoch immer besser, und es gibt inzwischen verschiedene Security Frameworks und Tools für Big-Data-Umgebungen.

Aufgrund ihrer Unterschiede verwenden viele Unternehmen sowohl ein Data Warehouse als auch einen Data Lake, oft in einer hybriden Bereitstellung, die beide Plattformen integriert. Häufig sind Data Lakes eine Ergänzung der Datenarchitektur und der Datenmanagementstrategie eines Unternehmens, anstatt ein Data Warehouse zu ersetzen.

Cloud versus On-Premises Data Lakes

Ursprünglich wurden die meisten Data Lakes in lokalen Rechenzentren implementiert. Inzwischen sind sie jedoch in vielen Unternehmen Teil von Cloud-Datenarchitekturen.

Der Wandel begann mit der Einführung von Cloud-Big-Data-Plattformen und gemanagten Diensten, die Hadoop und Spark sowie verschiedene andere Technologien umfassen. Insbesondere die Cloud-Plattform-Marktführer AWS, Microsoft Azure und Google Cloud Platform bieten Big-Data-Technologiepakete an: Amazon EMR, Azure HDInsight beziehungsweise Google Cloud Dataproc.

Durch die Verfügbarkeit von Cloud-Objektspeicherdiensten wie S3, Azure Blob Storage und Google Cloud Storage erhielten Unternehmen kostengünstigere Datenspeicheralternativen zu HDFS, wodurch Data-Lake-Bereitstellungen in der Cloud finanziell attraktiver wurden. Cloud-Anbieter fügten auch Entwicklungsfunktionen, Datenintegration und andere Datenmanagementdienste hinzu, um Implementierungen zu automatisieren. Selbst Cloudera, ein Hadoop-Pionier, der ursprünglich einen Großteil seiner Umsätze mit On-Premises-Anwendern erzielte, bietet mittlerweie eine Cloud-native Plattform an, die sowohl Objektspeicher als auch HDFS unterstützt.

Was sind die Vorteile eines Data Lake?

Data Lakes bieten eine Grundlage für Data Science- und Advanced-Analytics-Anwendungen. Auf diese Weise unterstützen sie Unternehmen, Geschäftsabläufe effektiver zu verwalten und Geschäftstrends und -chancen zu erkennen. So kann ein Unternehmen beispielsweise Vorhersagemodelle zum Kaufverhalten seiner Kunden nutzen, um seine Online-Werbe- und Marketingkampagnen zu verbessern. Die Analysen in einem Data Lake können auch beim Risikomanagement, bei der Betrugserkennung, bei der Wartung von Geräten und anderen Geschäftsfunktionen helfen.

Wie Data Warehouses helfen auch Data Lakes dabei, Datensilos aufzubrechen, indem sie Datensätze aus verschiedenen Systemen in einem einzigen Repository zusammenführen. Auf diese Weise erhalten Data-Science-Teams einen vollständigen Überblick über die verfügbaren Daten und vereinfachen die Suche nach relevanten Daten und deren Aufbereitung für Analysezwecke. Außerdem können die IT- und Datenmanagementkosten gesenkt werden, indem doppelte Datenplattformen in einem Unternehmen vermieden werden.

Ein Data Lake bietet noch weitere Vorteile, darunter:

  • Er ermöglicht es Datenwissenschaftlern und anderen Nutzern, Datenmodelle, Analyseanwendungen und Abfragen ad hoc zu erstellen.
  • Data Lakes sind kostengünstig zu implementieren, da Hadoop, Spark und viele andere Technologien, die zu ihrer Erstellung verwendet werden, Open Source sind und auf preiswerter Hardware installiert werden können.
  • Das arbeitsintensive Schema-Design sowie Datenbereinigung, -transformation und -aufbereitung können aufgeschoben werden, bis ein eindeutiger Geschäftsbedarf für die Daten ermittelt wurde.
  • In Data-Lake-Umgebungen können verschiedene Analysemethoden eingesetzt werden, darunter prädiktive Modellierung, maschinelles Lernen, statistische Analysen, Text Mining, Echtzeitanalysen und SQL-Abfragen.

Was sind die Nachteile eines Data Lake?

Trotz der geschäftlichen Vorteile, die Data Lakes bieten, kann ihre Bereitstellung und Verwaltung ein schwieriger Prozess sein. Hier sind einige der Herausforderungen, die Data Lakes für Unternehmen mit sich bringen:

  • Datensümpfe. Eine der größten Herausforderungen besteht darin, zu verhindern, dass sich ein Data Lake in einen Datensumpf verwandelt. Wenn er nicht richtig eingerichtet und verwaltet wird, kann der Data Lake zu einer unübersichtlichen Datenhalde werden. Die Benutzer finden möglicherweise nicht, was sie brauchen, und die Datenmanager verlieren möglicherweise den Überblick über die im Data Lake gespeicherten Daten, auch wenn immer mehr Daten hinzukommen.
  • Technologieüberlastung. Die große Vielfalt an Technologien, die in Data Lakes eingesetzt werden können, erschwert die Implementierung ebenfalls. Zunächst müssen Unternehmen die richtige Kombination von Technologien finden, um ihre speziellen Anforderungen an die Datenverwaltung und -analyse zu erfüllen. Dann müssen sie sie installieren, obwohl die zunehmende Nutzung der Cloud diesen Schritt erleichtert.
  • Unerwartete Kosten. Auch wenn die anfänglichen Technologiekosten nicht übermäßig hoch sind, kann sich das ändern, wenn Unternehmen ihre Data-Lake-Umgebungen nicht sorgfältig managt. So können Unternehmen beispielsweise unerwartete Rechnungen für Cloud Data Lakes erhalten, wenn diese stärker als erwartet genutzt werden. Auch die Notwendigkeit, Data Lakes zu skalieren, um die Arbeitslast zu bewältigen, erhöht die Kosten.
  • Data Governance. Einer der Zwecke eines Data Lake besteht darin, Rohdaten für verschiedene Analysezwecke in unveränderter Form zu speichern. Ohne eine effektive Governance von Data Lakes können Unternehmen jedoch mit Problemen der Datenqualität, -konsistenz und -zuverlässigkeit konfrontiert werden. Diese Probleme können Analyseanwendungen behindern und fehlerhafte Ergebnisse liefern, die zu schlechten Geschäftsentscheidungen führen.

Data-Lake-Anbieter

Die Apache Software Foundation entwickelt Hadoop, Spark und verschiedene andere Open-Source-Technologien, die in Data Lakes eingesetzt werden. Die Linux Foundation und andere Open-Source-Gruppen betreuen ebenfalls einige Data-Lake-Technologien. Open-Source-Software kann kostenlos heruntergeladen und verwendet werden. Softwareanbieter stellen jedoch kommerzielle Versionen viele dieser Technologien und technischen Support zur Verfügung. Einige Anbieter entwickeln und verkaufen auch proprietäre Data-Lake-Software.

Es gibt zahlreiche Anbieter von Data-Lake-Technologien, von denen einige vollständige Plattformen anbieten und andere Tools, die den Benutzern bei der Bereitstellung und Verwaltung von Data Lakes helfen. Zu den bekanntesten Anbietern gehören:

AWS. Zusätzlich zu Amazon EMR und S3 verfügt AWS über unterstützende Tools wie AWS Lake Formation für den Aufbau von Data Lakes und AWS Glue für die Datenintegration und -aufbereitung.

Cloudera. Die Cloudera Data Platform kann in der Public Cloud oder in hybriden Clouds mit lokalen Systemen eingesetzt werden und wird durch einen Data Lake Service unterstützt.

Databricks. Das Unternehmen wurde von den Entwicklern von Spark gegründet und bietet eine Cloud-basierte Data-Lakehouse-Plattform, die Elemente von Data Lakes und Data Warehouses kombiniert.

Dremio. Verkauft eine SQL-Lakehouse-Plattform, die BI-Dashboard-Design und interaktive Abfragen auf Data Lakes unterstützt und auch als vollständig verwalteter Cloud-Service verfügbar ist.

Google. Es ergänzt Dataproc und Google Cloud Storage mit Google Cloud Data Fusion für die Datenintegration und einer Reihe von Diensten für die Verlagerung von On-Premises Data Lakes in die Cloud.

HPE. HPE GreenLake unterstützt Hadoop-Umgebungen in der Cloud und On-Premises, mit Datei- und Objektspeicher und einem Spark-basierten Data-Lake-Service.

Microsoft. Neben Azure HD Insight und Azure Blob Storage bietet das Unternehmen Azure Data Lake Storage Gen2 an, ein Repository, das Blob Storage einen hierarchischen Namensraum hinzufügt.

Oracle. Seine Cloud-Data-Lake-Technologien umfassen einen Big-Data-Dienst für Hadoop- und Spark-Cluster, einen Objektspeicherdienst und eine Reihe von Datenmanagement-Tools.

Qubole. Die Cloud-native Plattform Qubole Data Lake bietet Datenmanagement-, Engineering- und Governance-Funktionen und unterstützt verschiedene Analyseanwendungen.

Snowflake. Die Snowflake-Plattform ist vor allem als Anbieter von Cloud-Data-Warehouses bekannt, unterstützt aber auch Data Lakes und kann mit Daten in Cloud-Objektspeichern arbeiten.

Diese Definition wurde zuletzt im Dezember 2022 aktualisiert

Erfahren Sie mehr über Software-defined Storage

ComputerWeekly.de
Close