Big-Data-Analysen mit Google Cloud Dataflow
Cloud Dataflow und andere Big-Data-Werkzeuge
- 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 Optimierung 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 Zeitvariable 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.
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. |