Allgemein
Ein Data Lake ist eine konzeptionelle Datenarchitektur und keine spezielle Technologie. Die technische Umsetzung kann variieren.
Die verbreiteten Data Lake Implementierungen verwenden:
Weniger in Verwendung, da unflexibler sind:
Einordnung bei Microsoft
Der Azure Data Lake basiert auf der Cluster-Management-Plattform Apache Hadoop YARN (Yet Another Resource Negotiator) und lässt sich dynamisch innerhalb der Azure Public Cloud skalieren.
Zum Azure Data Lake zählt bei Microsoft Azure Data Lake Storage und Azure Data Lake Analytics. Wobei für den Storage und auch für die Analyse nicht zwingend diese Tools verwendet werden müssen.
Figure 1: Azure Data Lake - Komponenten
Zonen-Konzept
Ein Data Lake wird in den meisten Fällen in verschiedene Zonen aufgeteilt, in denen Daten mit unterschiedlichem Verarbeitungsgrad abgelegt und unterschiedlichen Zugriffsberechtigungen versehen sind. Diese Zonen sind keine Vorgabe und werden in jedem Projekt je nach Anforderung unterschiedlich aussehen. In der folgenden Abbildung ist ein Beispiel zu sehen, wie so ein Zonen-Konzept aussehen kann.
Figure 2: mögliche Zonen eines Data Lakes
Raw Data Zone
Die wichtigste Zone ist die Raw Data Zone. Hier werden die Daten ungefiltert und unverändert in ihrem Originalzustand abgelegt. Dieser Bereich sollte für Konsumierer nur lesenden Zugriff haben.
Die Daten bleiben hier für immer, was aber auch bedeutet, dass auf dieser Ebene sehr große Datenmengen gespeichert werden. Deshalb sollte man über ein lifecycle management nachdenken. Mit ADLS gen2 können die Daten auf einen cool access tier verschoben werden, was auf lange Sicht die Speicherkosten reduziert.
Staging/Standardized Data Zone
Die Staging und Standardized Data Zones sind eher Zwischenschichten mit Filtern aber auch Anreicherungen der Daten. Typischerweise finden hier Schema- und Datentypdefinitionen statt. Nicht benötigte oder doppelte Daten werden bereinigt. Es erfolgt eine Validierung, Standardisierung, Harmonisierung und eventuell auch eine Zusammenführung der Daten. Wobei die Staged Zone eher für eine speziellen Zweck auf eine Auswahl der Original Daten ausgerichtet ist und eher einen Zwischenspeicher darstellt. Die Standardized Zone dagegen dient zur Strukturierung der Daten, ohne deren Inhalt groß zu verändern, um sie dann weiteren Analyse bereitzustellen. Diese Schicht ist meist ein Zwischenschritt, um die Erzeugung der Curated Data Zone zu erleichtern.
Curated zone
Diese Zone enthält die für Analysen optimierten Daten. Sie sind bereinigt, transformiert und evtl. neu strukturiert. Alle Datenabfragen sollten wenn möglich über diese Schicht gehen.
Man sollte diese Schicht aber nicht als Ersatz für ein Data Warehouse ansehen, da die Performance eines Data Warehouses deutlich besser ist, vor allem wenn es um zeitsensible Auswertungen geht, aber die Speicherkosten im DataLake sind natürlich deutlich günstiger.
Analytical Data Zone
In dieser Zone werden Untersuchungen und Experimente gemacht. Data Scientists und Analysten können hier Prototypen erstellen, Neuerungen testen und ihre eigenen Daten mit produktiven Daten mischen. Man darf es aber nicht als Ersatz einer Entwicklungs- oder Testumgebung ansehen. Für diese Aufgaben sollte immer ein eigener Data Lake zur Verfügung stehen.
Archive Data
Die Archive Data Zone beinhaltet ältere Daten, die zum Beispiel aus dem Data Warehouse oder anderen Systemen ausgelagert wurden. Als aktives Archiv bleiben die Daten abfragebereit und ermöglichen einen relativ schnellen Zugriff, wenn dieser benötigt wird.
Zusammenfassung
In diesem Artikel habe ich gezeigt, wie der Data Lake bei Microsoft Azure eingeordnet ist und wie man seine Zonen sinnvoll aufteilen sollte, um zu verhindern, dass ein Data Lake zu einem Data Swamp wird. Nicht für jedes Projekt sind die gleichen Zonen erforderlich. Über die Zeit können auch weitere Zonen hinzugefügt werden. Der wichtigste Punkt ist aber, dass sich alle an die festgelegten Zonen halten. Daten also nur in den dafür vorgesehenen Bereichen abgelegt werden und Entwicklung und Nutzer ihre Bereiche sauber halten z.B. Test Daten wieder löschen. Nur so können die Daten im Data Lake effektiv genutzt werden.
Ausblick
Nachdem ich in diesem Artikel eher auf die Theoretischen Aspekte eingegangen bin, werden ich in meinem nächsten Artikel zum Thema Data Lake darauf eingehen, wie man einen Azure Data Lake über das Azure Portal anlegen und verwalten kann.