Der Data Lake speichert eine Großzahl von Daten in deren Rohformat, also unverarbeitet, aus unterschiedlichen Quellen ab, um sie für Big Data Analysen nutzbar zu machen. Diese Daten können sowohl strukturiert, semi-strukturiert oder auch unstrukturiert sein. Die Informationen werden dort abgelegt, bis sie für eine analytische Auswertung gebraucht werden.
Warum nutzen Unternehmen einen Data Lake?
Die Daten, die in einem Data Lake abgespeichert werden, können entweder strukturiert, semi-strukturiert oder unstrukturiert sein. Solche Datenformate sind für Relationale Datenbanken, der Grundlage vieler Data Warehouses, ungeeignet.
Zusätzlich sind Relationale Datenbanken auch nicht horizontal skalierbar, wodurch die Datenhaltung in einem Data Warehouse ab einem gewissen Grad sehr teuer werden kann. Horizontale Skalierbarkeit bedeutet, dass das System auf mehrere unterschiedliche Computer aufgeteilt werden kann und somit die Last nicht auf einem einzelnen Rechner liegt. Dies bietet den Vorteil, dass in Stresssituationen, bspw. bei vielen gleichzeitigen Abfragen, einfach bedarfsgesteuert neue Systeme zeitweise hinzugeschaltet werden können.
Relationale Datenbanken können per Definition den Datenbestand nicht auf viele Rechner aufteilen, da ansonsten die Datenkonsistenz verloren gehen würde. Aus diesem Grund ist es sehr teuer große Datenmengen in einem Data Warehouse zu speichern. Die meisten Systeme, die für den Data Lake genutzt werden, wie beispielsweise NoSQL Datenbanken oder Hadoop, sind horizontal skalierbar und können dadurch einfacher skaliert werden. Das sind die Hauptgründe weshalb der Data Lake neben dem Data Warehouse zu den Grundpfeilern der Datenarchitektur von vielen Unternehmen gehört.
Architektur
Die genaue Umsetzung eines Data Lakes ist von Unternehmen zu Unternehmen unterschiedlich. Es gibt jedoch einige grundsätzliche Prinzipien, die für die Datenarchitektur des Data Lakes gelten sollte:
- Alle Daten können aufgenommen werden. Es können grundsätzlich alle Informationen aus Quellsystemen in den Data Lake geladen werden.
- Die Daten müssen nicht erst verarbeitet werden, sondern können in der Ursprungsform geladen und gespeichert werden.
- Die Daten werden erst dann verarbeitet und aufbereitet, wenn es einen speziellen Anwendungsfall mit Voraussetzungen an die Daten gibt. Dieses Vorgehen nennt man auch schema-on-read.
Ansonsten sollten bei der Speicherung unabhängig vom System noch einige grundlegenden Punkte beachtet werden:
- Gemeinsame Ordnerstruktur mit einheitlichen Namenskonventionen, damit Daten schnell und einfach gefunden werden können.
- Erstellung eines Datenkatalogs, der die Herkunft der Dateien benennt und die einzelnen Daten kurz erklärt.
- Tools zum Datenscreening, damit schnell erkennbar ist, wie gut die Datenqualität ist und ob es beispielsweise fehlende Werte gibt.
- Ein standardisierter Datenzugriff, sodass Berechtigungen vergeben werden können und klar ist, wer Zugriff auf die Daten hat.
Unterschied zum Data Warehouse
Das Data Warehouse kann zusätzlich durch einen Data Lake ergänzt werden, in welchem unstrukturierte Rohdaten kostengünstig zwischengespeichert werden können, um sie zu einem späteren Zeitpunkt nutzen zu können. Die beiden Konzepte unterscheiden sich vor allem in den Daten, die sie speichern, und der Art und Weise, wie die Informationen abgelegt werden.
Merkmale | Data Warehouse | Data Lake |
---|---|---|
Daten | Relationale Daten aus produktiven Systemen oder anderen Datenbanken. | Alle Datentypen (strukturiert, semi-strukturiert, unstrukturiert). |
Datenschema | Können entweder vor der Erstellung des Data Warehouses geplant werden oder erst während der Analyse (Schema-on-Write oder Schema-on-Read) | Ausschließlich zum Analysezeitpunkt (Schema-on-Read) |
Abfrage | Mit lokalem Speicher sehr schnelle Abfrageergebnisse | – Entkopplung von Berechnungen und Speicher – Schnelle Abfrageergebnisse mit günstigem Speicher |
Datenqualität | – Vorverarbeitete Daten aus verschiedenen Quellen – Vereinheitlichung – Single Point of Truth | – Rohdaten – Bearbeitet und unbearbeitet |
Anwendungen | Business Intelligence und grafische Aufbereitung der Daten | Künstliche Intelligenz, Analysen, Business Intelligence, Big Data |
Das solltest Du mitnehmen
- Der Data Lake bezeichnet einen großen Datenspeicher, der Daten im Rohformat aus den Quellsystemen abspeichert, damit sie für spätere Analysen zur Verfügung stehen.
- Sie können strukturierte, semi-strukturierte und unstrukturierte Daten abspeichern.
- Sie unterscheiden sich grundsätzlich vom Data Warehouse darin, dass sie unverarbeitete Daten abspeichern und die Daten erst aufbereitet werden, wenn ein konkreter Anwendungsfall besteht.
- Es handelt sich dabei vor allem um eine Vorratsdatenhaltung.
Andere Beiträge zum Thema Data Lake
- Amazon AWS bietet eine ausführliche theoretische Erklärung zum Thema Data Lakes und bietet auch die Möglichkeiten diesen in der Cloud aufzubauen.