Big-Data-Analysen mit Google Cloud Dataflow

Cloud Dataflow und andere Big-Data-Werkzeuge

von - 06.10.2014
Google Cloud Dataflow ist ein Service, der die Analyse großer Datenmengen sowohl im Batch-Modus als auch im Streaming-Modus – also nahezu in Echtzeit – erlaubt. Die Hauptmerkmale sind:
  • Voll gemanagter Service: Der Nutzer muss sich keine Gedanken um die verwendete Infrastruktur machen, kann aber jederzeit auf die eingesetzten Server und virtuellen Maschinen zugreifen.
  • Einfaches Programmiermodell: Der Entwickler übersetzt die logischen Schritte der Analyse in eine Sequenz einfacher Befehle. Die Verteilung der Last auf die einzelnen Knoten und die Op­timierung laufen im Hintergrund transparent ab.
  • Derselbe Code für Batch-Modus und Streaming: Die Unterscheidung zwischen Batch-Modus und Streaming trifft der Entwickler durch die Wahl der Datenquelle. Die Programmschritte bleiben dieselben.
  • Einfache Definition von Zeitfenstern: Dataflow hat eine Zeit­variable integriert. So lässt sich im Streaming-Modus mit nur einer Zeile Code ein Zeitfenster für die Datenanalyse definieren.
  • Extrem skalierbar: Der Entwickler kann sein Programm lokal zum Testen und Debuggen verwenden, In-Memory-Daten, Cloud Storage oder Streaming-APIs nutzen, ohne den Code verändern zu müssen. Google verspricht eine Skalierbarkeit bis in den Exabyte-Bereich hinein.
Google Cloud Dataflow ist derzeit als Private Beta verfügbar, für die man sich anmelden kann. Wer sich unter der E-Mail-Adresse Cloud_Dataflow_announce@googlegroups.com registriert, erfährt am schnellsten, wenn es etwas Neues gibt. Eine Aufzeichnung der Präsentation zu Dataflow auf der Entwicklerkonferenz Google I/O ist bei Youtube zu finden.

Weitere Big-Data-Analyse-Werkzeuge und -Initiativen

Apache Drill

Open-Source-Framework zur interaktiven Analyse großer Datenbanken.

Apache Giraph

Verfahren zur Berechnung komplexer Graphen-Analysen, Open-Source-Alternative zu Pregel.

Apache Hadoop

Umfangreiches Big-Data-Analyse-Framework; Bestandteile sind das Dateisystem HDFS (Hadoop Distributed File System), Job Tracker und Task Tracker. Der Job Tracker übernimmt Aufgaben vom Client und pusht sie an den Task Tracker, der die Arbeit auf einzelne Knoten verteilt.

Apache Hive

Data-Warehouse-Infrastruktur, die SQL-ähnliche Abfragen in einem Hadoop-System erlaubt, ursprünglich entwickelt von Facebook. Amazon setzt eine Variante in seinem Web-Service Elastic MapReduce ein.

Apache Storm

System zur Echtzeitanalyse großer Datenmengen. Storm kennt dafür drei Abstraktionsebenen: Spout, Bolt und Topology. Spouts sind Datenströme, die als Quellen für die Analyse fungieren, ein Bolt führt Berechnungen auf diesen Eingangsdaten aus und gibt die Ergebnisse aus.

Dremel

Googles Alternative zu Apache Drill.

Dryad

Ein von Microsoft entwickeltes Programmiermodell, das bei Big-Data-Analysen Ressourcenverteilung, Optimierung paralleler Rechenprozesse, Fehlertoleranz und Datenverteilung übernimmt.

Impala

Von IBM unterstützte und von Cloudera entwickelte Alternative zu Apache Hive.

MPI (Message Passing Interface)

Standardisiertes und in verschiedene Programmiersprachen portierbares System zur Kommunikation in parallelen Computerumgebungen.

Pregel

Von Google entwickeltes Verfahren zur Berechnung großer Graphen-Modelle, wie sie beispielsweise bei der Analyse von Social-Media-Daten verwendet werden.

YARN (Yet Another Resource Negotiator)

Trennt das Ressourcen-Management von den eigentlichen Applikationen. So lassen sich neben Map-Reduce andere Analysen wie MPI, Graph-Berechnungen oder Streaming-Services durchführen, ohne die Datenbank anpassen zu müssen.

Verwandte Themen