0511 874 590 50 info@agile-im.de
Sie finden den Artikel interessant? Teilen Sie ihn mit Ihrem Netzwerk!

Bei der Planung von Machine Learning Projekten gelangen wir regelmäßig zu der Frage, ob denn genügend Daten zur Verfügung stehen, um eine relevante Vorhersage oder eine Optimierung durch eine Machine Learning-Anwendung zu erreichen. Dabei spielt nicht nur die rohe Menge der Daten eine Rolle, häufig ist die Historisierung dieser Daten wichtiger. Als Teil dieser Diskussion kommt nicht selten ein vorhandenes Data Warehouse (DWH) ins Spiel. Darum muss in der Regel erst einmal betrachtet werden, was der Unterschied zwischen einem DWH und einem Data Lake ist.

Warum ein Data Lake und kein Data Warehouse

Ein DWH strukturiert Daten aus verschiedenen Quellen und stellt sie für Prozesse, Anwendungen oder Schnittstellen zur Verfügung. Ein Data Scientist würde an dieser Stelle schon entmutigt auf den Datenverlust hinweisen, den allein die Konvertierung in ein zentrales Schema verursacht. Ein Data Lake ersetzt kein DWH, es bietet einen Speicherort für rohe Quelldaten. Diese Daten werden weder vereinheitlicht noch angereichert, denn das würde mit einem Datenverlust einhergehen. Dem Data Scientist bleiben damit alle Möglichkeiten der Analyse.

[Bildquelle: Martin Fowler| martinfowler.com]

Extraktion – Flaschenhälse vermeiden

Auch wenn ein Data Lake „nur“ ein großer Datenspeicher für alle möglichen Datenformate ist, darf hier die Konsistenz der Daten nicht vergessen werden. Wenn Teile der abgelegten Daten abhandenkommen, kann das einen großen Effekt auf die Datenqualität und somit auf die Genauigkeit späterer Lösungen haben. Deshalb sollte auch beim Planen eines Data Lake die transaktionssichere Ablage berücksichtigt werden. In unseren Projekten haben wir die Erfahrung gemacht, dass Kafka hier seine Stärken hat. Kafka bietet eine transaktionale, nachvollziehbare und persistente Kommunikationsplattform für die meisten Datenquellen. Kafka lässt sich zudem auch direkt an ein Prometheus/Graphana basiertes Monitoring anbinden. Durch den Einsatz von Kafka kann man zu befürchtenden „Backpressure“ vermeiden und hat gleichzeitig eine ausfallsichere Umgebung für alle eingehenden Quellen eines Data Lake.

Datenspeicherung – Plattformunabhängigkeit und Kostenbetrachtung

Man könnte denken, dass das Speichern der Daten keine so schwierige Aufgabe sein sollte, doch vergisst man schnell ein paar limitierende Faktoren. Mit einem wachsendem Volumen der Ablage kommt man schnell an Grenzen, sodass man sich nach Alternativen umschaut. Die schieren Kosten der Datenablage, aber auch Regulierungen des Gesetzgebers, wie zuletzt die DSGVO, können schnell dazu führen, dass man den Ort der Ablage ändern muss. Da unsere Projektsituationen ohnehin eine gewisse Unabhängigkeit von Cloud Plattformen Anbietern wie Azure, AWS oder Google bieten muss, verwenden wir eine einheitliche Anbindung an unabhängige Speicherorte durch MinIO. Dadurch können wir den Zugriff auf den Data Lake ebenfalls vereinheitlichen, sodass der Data Scientist seine Analyse völlig unabhängig von dem genutzten Medium durchführen kann.

Jedem sein Model

Ein Data Lake wird von wenigen Personen, meist von Data Scientists verwendet. Ein Data Lake ist normalerweise nicht dazu geeignet, direkt an APIs angebunden zu werden. Viel mehr dient er zur Analyse und als Grundlage für spezifische Lakeshores, also Ufer an denen sich Applikationen mit einem spezifischen, gebundenem Kontext und auch eigenem Modell. Damit wird die direkte Lösungsarchitektur für eine einzelne Lösung klarer und auch einfacher abzubilden.

[Bildquelle: Martin Fowler| martinfowler.com]

Suchen in einem Data Lake

Martin Fowler sagte in seinem Artikel über Data Lakes, dass anders als bei einem DWH das Problem der Nutzung der Daten beim Konsumenten liegt. Man solle also beim Einführen eines Data Lake nicht zwangsläufig die zu verwendeten Suchmethoden in den Vordergrund stellen. Was einem später die Suche erleichtern kann, ist aber die Ablage im Parquet Format. Dadurch können Metadaten der eigentlich abgelegten Daten hinzugefügt werden. Spätere Suchen im Data Lake werden somit vereinfacht, auch das Anreichern von Daten im PDF oder in den gängigen Bild-Formaten wird anhand der Metadaten ermöglicht.

Fazit

Data Lakes stehen also für eine erweiterte Analysemöglichkeit aller Unternehmensdaten und nicht in Konkurrenz zum DWH. Da ein Data Lake eher von wenigen Personen und nur zur Analyse nutzbarer Unternehmensdaten herangezogen wird, steht hier die Extraktion und Speicherung der Daten im Vordergrund. Viele Projektsituationen haben gezeigt, dass die strukturiert zugänglichen Daten oft nicht die Informationen enthalten, die man für Prognosen in Machine Learning-Anwendungen benötigt. In vielen Fällen führte dies dazu, dass diese Unternehmen einen Data Lake eingeführt haben, um in Zukunft alle Daten heranziehen zu können.

Haben Sie Fragen oder Anregungen?

Nehmen Sie Kontakt auf:

Ihr Name (Pflichtfeld)

Ihre E-Mail-Adresse (Pflichtfeld)


Ihre Nachricht

Hinweis: Die eingegebenen Daten werden an uns zum Zweck der Kontaktaufnahme übermittelt, weiteres finden Sie in unserer Datenschutzerklärung.