peterschreiber.media - stock.ado

Cloud-Data-Lake- und Data-Warehouse-Optionen von AWS

Um Datenanalysen und Workloads mit AWS auszuführen, müssen Anwender die verschiedenen Data Repositories und Speicherdienste erkunden. Eine Navigationshilfe durch das AWS-Portfolio.

Unternehmen, die sich mit Big Data befassen, stehen für ihre Analyse- und KI-Workloads sowohl Data Lakes als auch Data Warehouses zur Verfügung. Beides sind komplementäre Technologien: Data Warehouses punkten, wenn Sie wissen, was Sie analysieren möchten. Data Lakes hingegen können Daten hervorragend für unvorhergesehene Anwendungen verarbeiten und kombinieren.

Während diese Architekturen zunehmend in die Cloud abwandern, entwickeln sich ihre Kernideen weiter. Mit diesen Neuerungen lassen sich die Vorteile der verschiedenen Cloud-Infrastruktur-Services nutzen.

Bei Data Lakes beispielsweise werden Rohdaten, die sich einmal auf dedizierten Plattformen wie Hadoop befanden, in Cloud Object Storage wie Amazon S3 verschoben. Der Object Storage fungiert dann als umfassender Speichermechanismus. Amazon nutzt diese Trennung mit Architekturstufen und kombiniert das Beste aus den Funktionen von Data Lake und Data Warehouse mit Tools wie Amazon Redshift Spectrum.

Data Warehouses versus Data Lakes

Unternehmen nutzen in der Regel Data Lakes oder Data Warehouses, um aus Daten einen geschäftlichen Nutzen zu generieren. Allerdings machen sie das aus unterschiedlichen Gründen. „Data Lakes sind am besten geeignet, wenn ein Unternehmen nicht festlegt, was es genau analysieren will“, sagt Justin Richie, Data Science Director bei Nerdery, einem IT-Beratungsunternehmen.

Entsprechend sind Data Warehouses besser geeignet, wenn ein Unternehmen die Geschäftslogik explizit definiert hat, es also genau weiß, was es will und es schwierig ist, die Logik nach der Schemaerstellung zu ändern. Data Lakes und Data Warehouses schließen sich jedoch nicht gegenseitig aus. Ein Unternehmen kann sie auch zusammen verwenden, um deren individuellen Vorteile zu nutzen und einen möglichst hohen ROI zu erzielen.

Data Lakes erleichtern das Speichern von Daten aller Art, was für unerwartete Workloads hilfreich ist. Die meisten AWS Data Lakes beginnen wahrscheinlich mit S3, einem Object-Storage-Service. „Object Storage eignet sich hervorragend für unstrukturierte Daten“, sagt Sean Feeney, Cloud Engineering Practice Director bei Nerdery.

Data Warehouses erleichtern das Management strukturierter Daten für bereits vorhandene Analysen oder gängige Anwendungsfälle. Amazon Redshift ist die Standardoption für ein AWS Data Warehouse zum Speichern strukturierter, relationaler Daten.

Um unstrukturierte Daten in S3 abzufragen, bietet AWS zwei Dienste an: Athena und Redshift Spectrum. Diese bieten eine dynamische Struktur, um Abfragen auf Objekten auszuführen.

Ein weiterer Aspekt einer Big-Data-Infrastruktur ist die Auswahl von Diensten, die Daten verschieben und so verschiedene Arten von Workloads unterstützen. Viele Amazon-Services pumpen Daten in S3 und Redshift, darunter DataSync, Database Migration Service, Kinesis, Storage Gateway, Snowball, Snowmobile, Data Pipeline und Glue.

Abbildung 1: Organisationen verwenden Data Lakes und Data Warehouses, um Daten aufzunehmen und zu analysieren.
Abbildung 1: Organisationen verwenden Data Lakes und Data Warehouses, um Daten aufzunehmen und zu analysieren.

Beginnen Sie von hinten

Letztendlich beschleunigen sowohl AWS Data-Lake- als auch Data-Warehouse-Services die Entwicklung verschiedener Arten von Datenanalysen. Allerdings sollten Unternehmen bei ihren Big-Data-Strategien immer ein Ziel vor Augen haben, das ihnen hilft, ihre Entscheidungen in Bezug auf Amazon Storage-Services zu treffen.

„Um analytische Anwendungen auf AWS zu entwickeln, sollte man über verschiedene Aspekte von Datensystemen nachdenken“, sagt Manoj Karanth, Vice President und Global Head of Data Science and Engineering beim IT-Beratungsunternehmen Mindtree. Der erste Teil umfasst die Datenerfassung und Datenaufnahme in ihrem rohen, aber grundlegend bereinigten Format. Der zweite Teil beschäftigt sich mit der Erstellung von Datenansichten auf der Grundlage des Datenbedarfs.

Laut Karanth ist Glue ein gutes Framework für das Extrahieren, Transformieren und Laden (ETL) von Daten. Wenn die Datenaufnahme ereignisbasiert ist und selten stattfindet, kann es effizienter sein, eine Kombination aus AWS Lambda und AWS Step Functions zu verwenden, um die Verarbeitungs- und Workflow-Aspekte besser zu handhaben.

Unternehmen können Rohdaten in S3 speichern. Damit gewinnen sie Spielraum bei der Auswahl des Services für den Datenbedarf, der ihren Bedürfnissen am besten entspricht. Amazon Aurora und Relational Database Service sind laut Karanth eine gute Wahl für Standardabfragen. Redshift ist hingegen besser für Business-Intelligence-Berichte geeignet, die viel Aggregation und eine gute Perfomance erfordern. Er verweist auch darauf, dass Athena in vielen Szenarien eine ähnliche, wenn nicht sogar performantere Abfrageausführung zur Verfügung stellt.

„Letztendlich sind die Kosten pro Insight der beste Weg, um das richtige AWS-Angebot auszuwählen“, sagt Karanth. „Unternehmen können die Kostenkontrolle optimieren, indem sie den Storage unabhängig von Cloud-Diensten halten, welche für die Analysen verwendet werden.“

Lake Formation versus Redshift

„AWS Lake Formation und Amazon Redshift konkurrieren nicht im herkömmlichen Sinne. Der Grund: Redshift kann in Lake Formation integriert werden, aber man kann beide Dienste nicht gegeneinander austauschen“, sagt Erik Gfesser, Principal Architect beim Beratungshaus SPR.

Lake Formation, das seit August 2019 allgemein verfügbar ist, ist eine Abstraktionsschicht über S3, Glue, Redshift Spectrum und Athena. Es bietet einen separaten Datenkatalog und Blaupausen für die Dateneingabe in S3 aus verschiedenen Quellen. „Lake Formation ist ein guter Ausgangspunkt, wenn Sie einen neuen Data Lake auf AWS aufbauen oder eine Verwaltungsschicht für den Datenzugriff benötigen, die von den darunter liegenden Datenspeichern selbst getrennt ist“, sagt Feeney.

Redshift ist die native Option zum Aufbau eines traditionellen relationalen Data Warehouse. Es handelt sich dabei um einen relationalen Datenbankdienst, der als Data Warehouse für analytische Workloads gedacht ist. Diese Workloads können Petabyte-große Datenmengen und leseintensive Abfragen für die Berichterstellung und für Visualisierungen der Daten umfassen. Lake Formation kann für diese Zwecke Daten in Redshift laden.

Um Daten in einem S3 Data Lake abzufragen, können Kunden Redshift Spectrum auf ähnliche Weise verwenden wie Amazon Athena. Außerdem können sie diese Daten mit Daten verknüpfen, die in Redshift-Tabellen gespeichert sind. Auf diese Weise kann ein hybrider Ansatz für die Speicherung bereitgestellt werden. Dies ist eine gute Option für Unternehmen, die die robusten Abfragefunktionen von Redshift nutzen, aber auch aus dem Cluster-Management-Business aussteigen und serverlos arbeiten möchten.

Optionen zur Datenintegration

Lake Formation arbeitet mit anderen bestehenden Diensten wie Redshift zusammen und bietet verschiedene Vorteile. „Dazu gehört etwa die Möglichkeit, mit S3 einen sicheren Data Lake einzurichten“, sagt Gfesser. Die Lake Formation Blueprints bieten optimierte, sofort einsetzbare Muster für häufige Anwendungsfälle, wie zum Beispiel die Extraktion von Massen- und inkrementellen Daten aus Datenquellen.

Lake Formation baut auf den Funktionen von AWS Glue auf, das aus vier Komponenten besteht: Data Catalog, Crawlers, Jobs and Workflows. Diese katalogisieren und verarbeiten gemeinsam eingehende Daten aus Quellsystemen.

Data Catalog ist ein Katalog, der zu Apache Hive Metastore kompatibel ist. Er speichert Metadaten und kann für mehrere AWS- und Nicht-AWS-Dienste verwendet werden. Mit Crawlers können Benutzer eine erweiterte Programmierlogik anwenden und automatisieren, wie diese Metadaten beim Einlesen der Daten erfasst werden.

Workflows kann verwendet werden, um Lake-Formation-kompatible Dienste zusammenzufügen. Glue Jobs kann Daten sowohl über Python-Shell-Skripte als auch über Apache Spark ETL-Skripte verarbeiten und laden. „Ein Python-Shell-Job eignet sich gut für allgemeine Aufgaben als Teil eines Workflows, wohingegen ein Spark-Job eine serverlose Apache-Spark-Umgebung verwendet“, sagt Gfesser.

Redshift bietet traditionellen Ansatz

Data Warehouses wie Redshift bieten einen eher traditionellen Ansatz zur Erstellung von Big-Data-Anwendungen. Für viele Entwicklungsteams ist Redshift eine vertraute Umgebung: Es bietet Out-of-the-box-Kompatibilität mit vielen kommerziellen Produkten und erlaubt komplexere Abfragen. Allerdings erfordert Redshift im Allgemeinen mehr Administration und Downtimes, um mit zunehmendem Volumen und steigender Abfrageaktivität skaliert zu werden. „Außerdem funktioniert es mit weniger Datenformaten als Athena“, sagt Gfesser.

Darüber hinaus kann es sein, dass Redshift-Benutzer erst dann eine Leistungssteigerung feststellen, wenn große Datenmengen anfallen – und selbst dann kann die Abfragegeschwindigkeit im Vergleich zu Athena enttäuschen.

„Obwohl sich die Funktionalität von Redshift Spectrum mit der von Athena überschneidet, sind die Kosten für Redshift höher als bei Athena. Der Grund ist, dass für den Einsatz von Redshift Spectrum ein Redshift-Cluster erforderlich ist. Die Kosten für Athena basieren hingegen ausschließlich auf dem Abfragevolumen“, erklärt Gfesser.

Ein weiterer Nachteil: Benutzer müssen Daten aus AWS-Datenquellen erst in Redshift laden, während Athena mit Daten arbeitet, die bereits in S3 gespeichert sind. Redshift Spectrum macht das zwar auch, aber es ist nicht so gut ausgestattet und wahrscheinlich nicht sinnvoll zu verwenden – es sei denn, die Daten eines Kunden sind bereits in Redshift-Tabellen vorhanden.

Das Optimum aus AWS Data Lakes und Data Warehouses herausholen

Im Idealfall nutzen Unternehmen Data Lakes und Data Warehouses zusammen. Data Lakes eignen sich am besten als zentrale Repositories für die Datenerfassung. Sobald die Geschäftslogik definiert ist, können die Daten dann über den Data Lake in ein Data Warehouse geladen werden.

„Data Lakes sind die beste Wahl für ein Unternehmen, das Daten-Pipelines bauen möchte. Sie bieten die notwendige Flexibilität, Effizienz und Kostenstrukturen“, sagt Ashish Thusoo, Mitbegründer und CEO von Qubole, einem Anbieter von Cloud-Datenplattformen. Data Lakes bieten außerdem die größe Flexibilität für Data Scientists und ihre Machine-Learning-Modelle, die eine große Menge an Rohdaten benötigen.

Große Unternehmen haben häufig einen Data Lake und mehrere Data Warehouses. Der Grund dafür ist, dass verschiedene Geschäftsbereiche Daten auf unterschiedliche Weise verwenden. Ein Data Warehouse ist die Legacy-Methode für Datenprojekte, und Data Lakes sind ein relativer Neuling in der Big-Data-Szene. Viele Softwareanbieter verkaufen beide Lösungen. Laut Richie von Nerdery ist die SQL-Entwicklung sowohl in Data Lakes als auch in Data Warehouses häufig konsistent.

„Unternehmen sollten mit einem Business-Intelligence-Bericht oder einem Business-Intelligence-Diagramm beginnen, das für voraggregierte Goldstandard-Datensätze erstellt wurde“, sagt Thusoo. Wenn Geschäftsanwender über Dinge nachdenken, die es zu erkunden gilt, können sie sich rückwärts zu immer kleineren Datensätzen oder Rohdaten arbeiten, die sie benötigen.

So können Geschäftsanwender zum Beispiel untersuchen, warum die Produktverkäufe an einem bestimmten Ort sehr stark zurückgegangen sind. Sie können verschiedene Phasen des Verkaufstrichters analysieren, um das Problem zu untersuchen. Häufig sind diese Informationen nur in den Rohdaten verfügbar, die sich in ihrem Data Lake befinden. Durch den Zugriff auf diese Daten wird der kostspielige Prozess der Transformation der Daten in ein Data Warehouse vermieden.

„Viele Firmen haben einen Data Lake für ihre unstrukturierten Rohdaten. Data Warehouses sind hingegen für ihre verfeinerten und verarbeiteten Daten vorgesehen“, erläutert Hannu Valtonen, Vice President of Product bei Aiven, einem Anbieter von Dateninfrastrukturmanagement-Tools.

Dieser Ansatz ermöglicht schnellere und einfachere Analysen, anstatt Daten aus einem Data Lake für einen neuen Anwendungsfall von Grund auf neu zu transformieren. Ein weiterer Vorteil: Er bewahrt die gesamte Rohdatenhistorie dieser Daten für die zukünftige Verwendung auf.

Die anschließende Datenverarbeitung ist allerdings langsamer und teurer im Vergleich zu Daten, die bereits in das Data Warehouse geladen sind. Kommen die Daten aus dem Data Lake, müssen die Data Scientists erst herausfinden, welche Daten sie benötigen, wie sie diese am besten formatieren und welche Algorithmen sie zur Formatierung der Rohdaten schreiben müssen.

Häufig gelangen Daten zunächst über Data Lakes in die Systeme eines Unternehmens. Anschließend wird dann eine Teilmenge dieser Daten verarbeitet und an ein Data Warehouse gesendet, wobei ihre Bedeutung aus der anfänglichen Rohdatenmasse analysiert und entschlüsselt wird.

„Da die Speicherkosten rapide gesunken sind, ist es für immer mehr Firmen möglich, Datenmassen in ihrer Rohform in einem Data Lake zu speichern“, sagt Valtonen. Darüber hinaus können Unternehmen die Rohdaten auf unbestimmte Zeit aufbewahren. Sie können auf den Tag warten, an dem jemand eine neue Frage stellt, die er beantwortet haben möchte.

Erfahren Sie mehr über Datenverwaltung