Was ist ein Data Lake?

Was ist ein Data Lake?

Ein paar Fragen, um festzustellen, ob dies die Datenarchitektur ist, die Sie wirklich brauchen.

Es gibt verschiedene Modelle zum Sammeln, Speichern und Organisieren von Unternehmensdaten, aber eines der meistdiskutierten in den letzten zehn Jahren war der Data Lake, ein riesiges Repository, das die Eingabe riesiger Mengen von Daten jeglicher Art in Rohform mit hoher Geschwindigkeit ermöglicht.

Das Konzept des Data Lake geht auf eine Technologie namens Hadoop zurück, bei der einige Ingenieure ein Datenspeichermodell entwickelten, das für den immensen Dateninput ausgelegt ist, der für Suchplattformen erforderlich ist. Es wurde schließlich in ein Open-Source-Projekt der Apache Software Foundation überführt, die den Code von Hadoop der Welt kostenlos zur Verfügung stellte.

Es ist mehr als ein Jahrzehnt her, dass sich der Data Lake durchgesetzt hat, und seither haben auch Unternehmenssoftware-Anbieter wie Microsoft und Amazon mit Angeboten wie Azure Data Lake und AWS Lake Formation nachgelegt.

Dennoch versuchen Unternehmen immer noch herauszufinden, ob und wann ein Data Lake das Richtige für ihre Daten ist.

Warum wurde der Data Lake erfunden?

Um zu entscheiden, ob Ihr Unternehmen einen Data Lake benötigt, ist es hilfreich, darüber nachzudenken, warum er überhaupt geschaffen wurde. In gewisser Weise kann ein Data Lake als eine Antwort auf ein früheres Konzept gesehen werden: das Data Warehouse.

Ein Data Warehouse bietet einen systematisierten Prozess und ein straff organisiertes Repository für Daten, die für den Betrieb und die Analyse eines Unternehmens benötigt werden. Diese strenge Struktur hält die Daten für die Analyse bereit, allerdings geht dies auf Kosten der Erfassungs- und Verarbeitungsgeschwindigkeit. Dies macht sie unpraktisch für Unternehmen, die riesige Datenmengen mit hoher Geschwindigkeit sammeln und eine Reihe von strukturierten und unstrukturierten Daten erfassen - auch bekannt als Big Data.

Im Gegensatz dazu macht die Fähigkeit eines Data Lakes, jeden Datentyp zu verarbeiten, ihn für Unternehmen, die mit Big Data zu tun haben, wünschenswert. Zusätzlich zu seiner Allgegenwärtigkeit in Bezug auf die Datentypen kann er auch große Datenmengen mit hoher Geschwindigkeit verarbeiten. Dies ist vor allem auf die Verwendung von Clustern zurückzuführen, bei denen mehrere Server statt eines einzigen für die Speicherung, Verarbeitung und Berechnung genutzt werden.

Diese Technik, die auch als verteiltes Rechnen bezeichnet wird, ermöglicht es, die Dateninfrastruktur je nach Bedarf zu erweitern, so dass sie den immensen Anforderungen eines Unternehmens wie Yahoo, Facebook oder eBay gerecht werden kann.

Eine grundlegende Frage: Haben wir wirklich Big Data?

Wenn Sie einen Data Lake in Betracht ziehen, lautet die erste und offensichtlichste Frage: "Haben wir es wirklich mit Big Data zu tun?" Was in Bezug auf das Volumen als "groß" gilt, ist etwas subjektiv, aber im Allgemeinen handelt es sich um Daten, die zu groß oder zu komplex sind, als dass herkömmliche Datenspeicherungs- und -verarbeitungstechnologien sie verarbeiten könnten.

Denken Sie nicht nur an die Menge der Daten, die Sie sammeln, sondern auch an die Art der Daten. Wenn Sie hauptsächlich relationale Daten verarbeiten - stark strukturierte Daten, die in eine Standardspalten- und -zeilentabelle passen (z. B. Verkaufs- und Transaktionsdaten) -, ist ein Data Lake selbst bei großen Datenmengen wahrscheinlich nicht ideal, da er nicht mit der Art von Struktur und Sicherheitsvorkehrungen eines relationalen Datenbanksystems (RDBMS) konzipiert wurde und daher zusätzliche Technik erfordert, um diese Funktionen bereitzustellen. Wenn Sie jedoch große Mengen an halbstrukturierten und unstrukturierten Daten verwalten, sollten Sie einen Data Lake in Betracht ziehen.

Wenn Sie die Frage nach dem Gatekeeper mit "Ja" beantwortet haben, sollten Sie sich bei der Planung Ihrer Data Lake-Implementierung einige zusätzliche Fragen stellen.

FRAGEN, DIE IHNEN BEI DER PLANUNG DER DATA-LAKE-IMPLEMENTIERUNG HELFEN

  • Was ist unser Plan für den Umgang mit kleinen Datenmengen?
  • Kann mein Data-Science-Team problemlos mit dem See arbeiten?
  • Wie werden wir den Überblick über die Daten behalten, sobald wir sie in den Data Lake gestellt haben?
  • Kann ich einen Data Lake in die bestehende Dateninfrastruktur integrieren? Und wenn ja, wie?

Was ist unser Plan für den Umgang mit kleinen Daten?

Wie bereits erwähnt, sind Data Lakes nicht für jedes Szenario geeignet. Hadoop zum Beispiel hat Probleme mit kleineren Datensätzen und ist besser für die Verarbeitung einer einzigen großen Datei geeignet als für die gleiche Datei, die in viele kleine Dateien aufgeteilt ist.

Wenn Sie ein System erstellen möchten, das neben großen Daten auch kleine Datenmengen verarbeiten kann, müssen Sie Ihre Data Lake-Pläne nicht unbedingt aufgeben. Sie könnten zum Beispiel die Apache-Software Hadoop Ozone verwenden, eine Alternative zum nativen Dateisystem von Hadoop (HDFS), die sowohl große als auch kleine Dateien verwalten kann.

Sie können auch einige Umgehungslösungen in Erwägung ziehen, z. B. die Konfiguration Ihrer Datenpipeline, um viele Dateien in einem Container zu bündeln, z. B. eine Sequenzdatei, eine Avro-Datei oder eine Hadoop-Archivdatei (.har).

Einige kommerzielle ETL-Lösungen (Extrahieren, Transformieren, Laden), wie z. B. Xplenty, optimieren automatisch kleine Dateien für die Speicherung in einem Data Lake, während neue Daten in Ihr System geladen werden. Alternativ dazu kann auch HBase, das Teil des Hadoop-Ökosystems ist, als Lösung für die Verarbeitung kleiner Dateien eingesetzt werden.

Kann mein Data Science Team problemlos im Lake arbeiten?

Datenwissenschaftler sind oft schwer zu finden. Das Letzte, was Sie tun möchten, ist eine Datenarchitektur zu implementieren, mit der Ihr Data Science-Team nicht arbeiten kann.

Hadoop ist bekannt dafür, dass es für Data-Science-Teams einige Herausforderungen mit sich bringt, da einige seiner Technologien, wie MapReduce, schwieriger zu verwenden sind. Insbesondere die von Datenwissenschaftlern häufig verwendeten Programmiersprachen wie Python und R sind nicht in der Lage, direkt mit den verteilten Datensätzen von Hadoop zu arbeiten. Mit Apache Spark, einer Open-Source-Software zur Steigerung der Leistung und zur Vereinfachung von Operationen in einem Data Lake, können Sie dieses Problem bis zu einem gewissen Grad lösen.

Spark bietet unter anderem Bibliotheken für maschinelles Lernen, mit denen Datenwissenschaftler Modelle erstellen können, die auf verteilten Datensätzen laufen. PySpark und SparkR beispielsweise ermöglichen es Datenwissenschaftlern, mit einer Sprache zu arbeiten, die Python und R sehr ähnlich ist und Zugang zu einer umfangreichen Bibliothek für maschinelles Lernen bietet.

Bevor Sie eine Spark-Implementierung in Angriff nehmen, sollten Sie jedoch die erforderlichen Fähigkeiten berücksichtigen, z. B. die Fähigkeit, Open-Source-Softwarecode zu integrieren und zu verwalten.

Spark vereinfacht zwar die Arbeit mit Data Lakes wie Hadoop oder Microsoft Azure Data Lake, erfordert jedoch einige spezielle Kenntnisse für die richtige Integration. Wenn Ihr Entwicklerteam mit der Integration von Spark überfordert ist, können Sie auf eine der kommerziellen Versionen des Produkts zurückgreifen, die zwar immer noch ein gewisses Maß an Verwaltung erfordern, aber es Ihnen ermöglichen, einen Data Lake in weniger als einer Stunde zum Laufen zu bringen.

Bedenken Sie jedoch, dass PySpark und SparkR eine erhebliche zusätzliche Schulung erfordern - selbst für Data-Science-Teams, die mit Python und R vertraut sind. Die Syntax ist immer noch so unterschiedlich, dass es eine steile Lernkurve gibt.

Wie behalten wir den Überblick über die Daten, sobald wir sie im Data Lake abgelegt haben?

Dieser Punkt kann nicht oft genug betont werden. Die Fähigkeit des Data Lake, jeden Datentyp schnell aufzunehmen, geht auf Kosten der Bereitstellung der Struktur, die für die Nutzbarkeit der Daten erforderlich ist. Wenn Ihre Data-Lake-Strategie keinen Plan für den Umgang mit diesem Problem enthält, werden Sie feststellen, dass Sie es mit einem Kakerlaken-Motel zu tun haben - Datensätze kommen rein, aber sie gehen nicht raus.

Diese Herausforderung hat zu Lösungen geführt, die Data Lakes besser handhabbar machen sollen, wie z. B. Datenkataloge, die versuchen, einen Data Warehouse-ähnlichen Strukturierungsgrad in einem Data Lake zu schaffen.

Wenn Sie sich für einen Datenkatalog entscheiden, können Sie aus einer Vielzahl von Lösungen wählen. Beachten Sie jedoch, dass sich diese Produktkategorie in den letzten Jahren stark weiterentwickelt hat. Vergewissern Sie sich, dass Sie mit der von Ihnen gewählten Lösung die nächste Stufe erreichen können.

Aber was genau ist die "nächste Stufe"? Um diese Frage zu beantworten, sollten Sie sich vor Augen führen, was in den letzten zehn Jahren mit der modernen Datenarchitektur geschehen ist. Um es ganz offen zu sagen: Für die meisten Unternehmen handelt es sich um ein verworrenes Geflecht verschiedener Arten von Repositories - relationale Datenbanken, NoSQL-Datenbanken, Warehouses, Marts, operative Datenspeicher -, die oft von verschiedenen Anbietern stammen, verschiedenen Abteilungen gehören und sich an unterschiedlichen Standorten befinden.

Bevor Sie also einen Datenkatalog kaufen, müssen Sie sich fragen, wie er nicht nur mit Ihrem Data Lake, sondern auch mit Ihrer gesamten anderen Dateninfrastruktur umgehen wird.

Kann ich einen Data Lake in die bestehende Dateninfrastruktur integrieren? Und wenn ja, wie?

Es stimmt zwar, dass ein Data Lake so ziemlich jede Art von Daten verarbeiten kann, aber Sie werden trotzdem nicht alle Ihre vorhandenen Daten darin unterbringen wollen.

Zunächst einmal ist das Verschieben von Daten ein gewaltiges Unterfangen, und wenn es keinen zwingenden Grund gibt, sie zu verschieben - z.B. wenn AWS Ihnen den Stecker zieht -, ist das im Allgemeinen nichts, was Sie tun möchten.

Was tun Sie also, wenn Sie eine Datenarchitektur integrieren müssen, die z. B. Hadoop, Oracle und Teradata umfasst? Gehen wir einen Schritt zurück und betrachten wir einige der Technologien und Modelle, die entstanden sind, um diesen Bedarf zu decken.

Matt Aslett von 451 Research hat den Begriff Enterprise Intelligence Platform (EIP) geprägt, um eine Technologie zu beschreiben, die es ermöglicht, Analyseprojekte gleichzeitig auf Datensätzen durchzuführen, die in vielen verschiedenen Datenspeichern vorhanden sein können. In ähnlicher Weise hat John Santaferraro von Enterprise Management Associates (EMA) ein Unified Analytics Warehouse (UAW) beschrieben, das alle Interaktionen mit Daten und Analysetools über ein einziges System vereint.

Das ist alles gut und schön, werden Sie vielleicht sagen, aber wie sollen die zukunftsweisenden Ideen der Analysten eine funktionierende Dateninfrastruktur in meinem Unternehmen aufbauen?

Als mein Unternehmen an der Entwicklung eines Systems arbeitete, das SQL-Abfragen über eine verstreute Datenarchitektur automatisieren sollte, stellten wir uns genau diese Frage. Bei der Recherche und Durchsicht der Literatur zu diesem Thema stießen wir auf eine Open-Source-Technologie namens Trino. Ein Hauptvorteil von Trino besteht darin, dass die Integration komplizierter Architekturen - man denke an Hadoop in Kombination mit OracleDB, MongoDB und Teradata - nicht durch Verschieben oder gar Ändern von Daten erreicht wird. Vielmehr geht es darum, die Virtualisierung zu nutzen, um eine abstrakte Ebene zu schaffen, die es Ihnen ermöglicht, ein Durcheinander verschiedener Systeme als eine einzige Datenquelle zu betrachten.

Achten Sie also bei der Bewertung von Datenkatalogen auf Funktionen, die Ihnen eine abstrakte Zugriffsebene über mehrere Datenbestände hinweg bieten. Wenn Sie Daten verschieben müssen, werden Sie mit einer Reihe zusätzlicher Herausforderungen konfrontiert, die Sie zurückwerfen.

Wenn Sie einen Data Lake in Erwägung ziehen, müssen Sie sich Gedanken darüber machen, wie Sie kleine Datensätze verwalten, die Ordnung aufrechterhalten und sich in die bestehende Dateninfrastruktur integrieren können. Zwar kann jedes dieser Hindernisse, wenn es nicht beachtet wird, Ihre Fähigkeit beeinträchtigen, aus Ihrer Data Lake-Investition einen Nutzen zu ziehen, aber sie sind alle überwindbar, wenn die von mir beschriebenen Ansätze angewendet werden.

Entwickler Jobs in Österreich

Das könnte dich auch interessieren