Hadoop Data Lake
Ein Hadoop Data Lake ist eine Daten-Management-Plattform, die eine oder mehrere Hadoop-Cluster umfasst. Diese Cluster werden hauptsächlich eingesetzt, um nicht-relationale Daten (zum Beispiel Protokoll-Dateien, Internet Clickstreams, Sensordaten, JSON-Objekte, Bilder und Social Media Posts) zu verarbeiten und zu speichern.
Zwar kann das System auch Transaktionsdaten bereithalten, die aus relationalen Datenbanken stammen. In erster Linie sind die Data Lakes aber dafür entwickelt wurden, analytische Anwendungen zu unterstützen und nicht-transaktionale Prozesse auszuführen.
Während das Data-Lake-Konzept viel weiter gefasst ist, betreffen Hadoop Data Lakes es in erster Linie die Speicherung von Daten im Hadoop Distributed File System (HDFS) über eine Reihe von Cluster-Rechnerknoten, die aus handelsüblicher Hardware bestehen.
Aufgrund der Nutzung von Standardhardware und Hadoop als Open-Source-Framework, verweisen Befürworter des Ansatzes gerne darauf, dass Hadoop Data Lakes ein günstigeres Repository für analytische Daten ist als ein herkömmliches Data Warehouse. Da innerhalb von Hadoop Data Lakes eine vielfältige Mischung von strukturierten, semistrukturierten und unstrukturierten Daten vorgehalten werden können, eignet es sich besser als Plattform für Big-Data-Management und Analytics-Anwendungen als ein Data Warehouse, das auf relationalen Systemen basiert.
Allerdings lässt sich ein Hadoop Data Lake verwenden, um ein Enterprise Data Warehouse zu ergänzen. Zum Beispiel kann ein Hadoop-Cluster die Verarbeitung einiger Daten des Data Warehouses übernehmen und neue Analytics-Applikationen hosten. Gefilterte Datensätze oder zusammengefasste Ergebnisse können anschließend für weitere Analysen ans Data Warehouse gesendet werden.
Die Inhalte eines Hadoop Data Lakes müssen nicht unmittelbar in ein formales Datenbankschema oder eine konsistente Datenstruktur umgewandelt werden. Das erlaubt es Anwendern, Rohdaten darin zu speichern. Die Daten lassen sich je nach Bedarf in ihrer Rohfassung analysieren oder für spezifische Analytics-Anwendungen vorbereiten.
Infolgedessen nutzen die meisten Data-Lake-Systeme Extract, Load und Transform (ELT) -Methoden für das Sammeln und Integrieren der Daten, statt Extract, Transform und Load (ETL) –Ansätze, die typischerweise in Data Warehouses verwendet werden. Die Daten können außerhalb von HDFS mit MapReduce, Spark oder ähnlichen Datenverarbeitungs-Frameworks extrahiert und verarbeitet werden.
Die Einsatzmöglichkeiten der Hadoop Data Lakes sind vielfältig. Beispielsweise können die Data Lakes verschiedene Legacy-Datenquellen bündeln, Netzwerkdaten von entfernten Standorten sammeln und als Zwischenspeicher für Daten aus anderen Systemen dienen, die überlastet sind.
Hadoop Data Lakes haben aber auch Kritiker und ihr Einsatz ist nicht trivial. Spark sowie das Hadoop-Framework selbst können auch andere Datei-Architekturen unterstützen als HDFS. Inzwischen argumentieren Befürworter von Data Warehouses sogar, dass DW-Architekturen (zum Beispiel Data Marts) ausdauernder sind, und dass Hadoop beziehungsweise verwandte Open-Source-Technologien erst weiterentwickelt werden müssen, um die Funktionen und die Zuverlässigkeit von Data-Warehouse-Umgebungen zu erreichen.
Selbst erfahrene Hadoop-Data-Lake-Anwender verweisen darauf, dass eine erfolgreiche Implementierung eine starke Architektur und Data-Governance-Richtlinien voraussetzt. Eine schlechte Planung und Durchsetzung der Data Governance kann dazu führen, dass das Data-Lake-System außer Kontrolle gerät und sich zu einer Datenmüllkippe entwickelt.