carloscastilla - Fotolia

Einen Data Lake in AWS für erfolgreiche Analysen aufbauen

Es kann schwierig sein, Daten zur Analyse nach AWS zu migrieren. Quick Start Guides und Services wie Snowball und Glue helfen dabei, den Prozess zu meistern.

Wenn der Datenbestand eines Unternehmens von Jahr zu Jahr wächst, kann ein ansonsten wertvolles Wirtschaftsgut zu einem Problem werden, das Entscheidungsträger unschlüssig zurücklässt.

Um unstrukturierte, Streaming und transaktionale Daten zu nutzen, verwendet ein Unternehmen in einigen Fällen einen Data Lake. In diesem Modell befinden sich die Unternehmensdaten in einem einzigen Repository und werden in roher, aber leicht zugänglicher Form gespeichert, so dass Anwendungen bei Bedarf relevante Teilmengen herausziehen, transformieren und verarbeiten können.

Public-Cloud-Angebote offerieren eine Vielzahl von Funktionen, die für Data Lakes förderlich sind, zum Beispiel Skalierbarkeit, Verfügbarkeit und diverse Speicherfähigkeiten, darunter Datenbanken und Dienste zur Datentransformation und -analyse.

Die meisten Unternehmen generieren und speichern Daten jedoch derzeit On-Premises. Dies stellt sie vor mehrere Herausforderungen, wenn sie sich entscheiden, einen Data Lake in AWS oder auf einer anderen Public-Cloud-Plattform zu bauen:

  • Sie wollen Daten sicher in die Cloud replizieren;
  • sie müssen festlegen, wie und wo sie gespeichert werden sollen, und wie die Extraktionsprozesse gestaltet werden; und
  • sie wollen Daten für bestimmte Anwendungen transformieren und festlegen, wie und wo die Ergebnisse verarbeitet werden.

AWS bietet Quick Start Guides und verschiedene andere Services, um einem IT-Team zu helfen, einen Data Lake in AWS zu erstellen und diese Informationen für die Analyse zu transformieren.

Transport und Speicherung

Unternehmen können große Datenmengen über eine Netzwerkverbindung oder transportable Laufwerke an AWS übertragen. Aufgrund der großen Datenmengen, die Unternehmen besitzen, ist die schnelle, private Direktverbindung Direct Connect die beste Verbindungsoption, da Geschwindigkeiten von bis zu 10 Gbit/s erreicht werden.

Selbst wenn man Multi-Gigabit-Netzwerkleitungen verwendet, dauert die Replikation von Terabytes an Daten länger. Beispielsweise benötigen 20 TB Daten mehr als 51 Stunden, um über eine 1-Gbit/s-Verbindung kopiert zu werden.

AWS kennt das Problem. Der Cloud-Anbieter hat daher Snowball in sein Portfolio aufgenommen. Snowball ist eine tragbare, robuste Appliance mit Speicher und zugehöriger Software, um die Stapelübertragung von Multi-Terabyte-Datensätzen zu vereinfachen.

Snowball, das in den Größen 50 TB und 80 TB erhältlich ist, verfügt über eine 10GBase-T Network-Attached-Storage-Verbindung. Die integrierte Software ermöglicht es, mehrere Geräte parallel zu verwenden, um die Übertragung von über 100 TB-Datensätzen zu vereinfachen. Wenn man Snowball zurückgibt, werden die Daten in den eigenen Data Lake in AWS übertragen, wo man sie für andere Cloud-Dienste extrahieren kann.

Extraktion und Umwandlung

Der primäre Zweck eines Data Lake ist es, Daten in Teilmengen zu extrahieren und umzuwandeln, um ihren Einsatz für Anwendungen zu erleichtern. Beispielsweise kann ein Hadoop-Dateisystem Spark zur Datenanalyse verwenden. S3 ist ein hervorragendes Ziel für einen Data Lake in AWS, da der Service:

  • mehrere Datenformate unterstützt;
  • problemlos andere AWS Storage- und Datenbankdienste versorgen kann;
  • die günstigste Form der nicht-archivarischen AWS-Speicherung ist;
  • die Speicherung von der Verarbeitung entkoppelt, um sie betrieblich effizient zu gestalten; und
  • Flexibilität bei der Unterstützung von Cluster-losen Architekturen mit Serverless-Diensten wie Lambda (ereignisgesteuerte Funktionen), Athena (interaktive SQL-Abfrage), Glue (Datentransformation) und Macie (Datensicherheit und Zugriffskontrolle) bietet.

AWS Glue ist ein On-Demand Extract-, Transform-, Load-Service (ETL), der automatisch AWS-gehostete Daten findet und kategorisiert und einem IT-Team beim Aufbau einer Cloud-Datenverarbeitungs-Pipeline hilft.

Glue verwendet Crawler, um Datenquellen zu durchsuchen und einen Metadatenkatalog zu erzeugen, der entweder benutzerdefinierte oder integrierte Klassifikatoren für häufig verwendete Datentypen wie CSV, JSON, verschiedene Protokolldateiformate und Java-unterstützte Datenbanken verwendet.

Glue generiert automatisch Skripte in Scala oder PySpark mit anpassbaren Glue-Erweiterungen, die Daten bereinigen und andere ETL-Operationen ausführen können. Zum Beispiel kann ein Skript eine ETL-Aufgabe ausführen und ein relationales Format verwenden, um Daten in einem anderen Repository, zum Beispiel Redshift, zu speichern.

Data Scientists können den Glue-Metadatenkatalog mit Apache Hive und den dazugehörigen Tools wie Presto und Spark für SQL-Abfragen beziehungsweise Analyseverarbeitung verwenden. AWS bietet jedoch gleichwertige Datenanalysedienste wie Athena, Elastic MapReduce (EMR) und Redshift Spectrum.

Datenverarbeitung und Data Warehousing

AWS stellt verschiedene Datendienste bereit, die den ETL-Output von Glue speichern, segmentieren und analysieren können, wobei die Anwendung die beste Übereinstimmung ermittelt. Redshift erfüllt traditionelle Data-Warehousing-Anforderungen, wie zum Beispiel Online-Analyse oder Predictive Analytics mit SQL-Syntax.

Ein Hadoop-Cluster, EMR oder Spark können Log-Dateien oder Stream-Daten für die Systemsicherheitsanalyse und Clickstream-Verarbeitung besser analysieren. Hier kann der Glue-Output EMR oder einen Machine-Learning-Service von Amazon mit Daten versorgen.

Einige Organisationen verwenden beide Arten der Datenanalyse. Zum Beispiel war die Nasdaq-Börse ursprünglich Redshift-Kunde, da es sein lokales Data Warehouse für tägliche Transaktionsdaten damit ersetzte.

Doch das Unternehmen wollte sein umfangreiches und wachsendes Archiv an historischen Daten abbauen und analysieren. AWS S3 und EMR sind für diese Aufgabe besser geeignet. Das Modell für diese Art von Hybrid-Design verwendet Redshift – und unter Umständen Athena – für interaktive Abfragen sowie Echtzeit-Vorhersagen und EMR mit Spark und anderen analytischen Werkzeugen für die Batch-Vorhersage über einen größeren Datensatz hinweg.

Weitere Empfehlungen

Viele der Einwände gegen Glue- und AWS-basierte Data Pipelines und Warehouses sind auf Datenbewegungen zurückzuführen. In den meisten Fällen kommt der Großteil der archivierten und neu generierten Daten aus einer Organisation außerhalb von AWS.

Man sollte dieses Thema aber breiter betrachten und die Vor- und Nachteile der Cloud für die Datenanalyse abwägen. Die Cloud ermöglicht einigen Komfort, Skalierbarkeit, Performance und Flexibilität auf Kosten von Datentransport, Sicherheit und damit verbundenen Kosten. Wenn das Pendel auf die Pro-Cloud-Seite zusteuert, bietet AWS die erforderlichen Services, um anspruchsvolle Datentransformations- und Analysesysteme zu erzeugen.

Das Besondere an Glue ist seine Unausgereiftheit im Vergleich zu bestehender, eigenständiger ETL- und Datenintegrationssoftware von Anbietern wie Informatica, IBM, SAP und Talend. Erfahrene Datenanalysten und -entwickler bevorzugen wahrscheinlich eigenständige Clients oder eine integrierte Entwicklungsumgebung gegenüber AWS Glue. Zudem kommt Glue mit untragbaren Kapazitätsgrenzen für die Anzahl der Datenbanken, Jobs, Trigger und Crawler pro Konto, Tabellen pro Datenbank und Partitionen pro Tabelle. Während AWS diese Grenzen erhöhen kann, können sie für bestimmte Organisationen oder Systemdesigns Probleme aufwerfen.

Für die meisten Unternehmen, insbesondere solche ohne umfangreiche Data-Warehouse- und ETL-Expertise oder Legacy-Infrastruktur, ist AWS aber aufgrund seiner Skalierbarkeit und Leistungsbreite eine gute Plattform für Datenaggregation, -transformation und -analyse.

Folgen Sie SearchEnterpriseSoftware.de auch auf Twitter, Google+, Xing und Facebook!

Nächste Schritte

Daten in die Cloud auslagern: Snowball ist eine Möglichkeit unter vielen.

Microsoft Azure Data Lake Analytics bekommt Schub durch neue SQL-Variante U-SQL.

Tipps für eine Data-Lake-Architektur.

Erfahren Sie mehr über Cloud Computing