Big-Data-Analysen mit Google Cloud Dataflow
Google Cloud Dataflow statt Map-Reduce?
Laut Google ist Dataflow der Nachfolger von Map-Reduce, das gut ein Jahrzehnt das übliche Verfahren war, um grosse Datenmengen parallel zu verarbeiten. „Wir verwenden Map-Reduce eigentlich nicht mehr“, sagte Urs Hölzle, Senior Vice President Technical Infrastructure bei Google, anlässlich der Dataflow-Vorstellung in der Keynote der Entwicklerkonferenz. „Map-Reduce ist gut geeignet für einfache Aufgaben, aber sehr umständlich, wenn es um Daten-Pipelines geht, und jede Analyse ist heute eine Pipeline-Analyse“, so Hölzle weiter.
Jens Bussmann, Cloud Platform Lead DACH & CEE bei Google, relativiert diese Aussage allerdings: „Map-Reduce ist nicht ‚veraltet‘. Es gibt neue Technologien wie Dataflow, die das herkömmliche Map-Reduce für viele Entwickler ersetzen, aber Map-Reduce wird weiterhin genutzt und wir gehen davon aus, dass es auch noch lange genutzt werden wird.“ Map-Reduce ist ein ebenfalls von Google entwickeltes Programmiermodell, das die parallele Berechnung auf verteilten Systemen und über grosse Datenmengen erlaubt. Es läuft in zwei Phasen ab.
In Phase eins (Map) werden die Daten, bestehend aus einem Schlüssel und dessen Wert, in eine neue Schlüssel-Wert-Kombination umgewandelt. Dieser Vorgang kann parallel auf vielen Systemen ablaufen, sodass auch extrem grosse Datenmengen in kurzer Zeit bearbeitet werden können.
Phase zwei (Reduce) sammelt alle Schlüssel-Wert-Paare aus Phase eins und konsolidiert sie. Haben zwei Daten denselben Schlüssel, werden die Werte der Einträge addiert. Optional kann zwischen den Map- und den Reduce-Vorgang noch eine Combine-Phase geschaltet werden. Die Combine-Funktion läuft knotenweise und bildet so schon einmal Zwischensummen der einzelnen Schlüssel auf den jeweiligen Knoten.
Einer der grossen Vorteile von Map-Reduce ist, dass sich die Datenanalyse auf viele Knoten eines Clusters parallel verteilen lässt, ohne dass es zu Inkonsistenzen kommen kann. Jeder Knoten erhält eine Teilmenge des Datenbestands und analysiert diesen. Dies reduziert den Rechenaufwand im nachfolgenden Reduce-Schritt meist schon um mehrere Grössenordnungen. „Die entscheidenden Ideen hinter Map-Reduce – besonders das Handling von grossen Datenmengen in kleinen, individuellen Pools – werden weiterhin in Technologien wie Hadoop fortbestehen“, sagt Bussmann.
- Big-Data-Analysen mit Google Cloud Dataflow
- Einheitliches Datenmodell und flexiblere Abfragen
- Google Cloud Dataflow statt Map-Reduce?
- Die Schwächen von Map-Reduce-Berechnungen
- RDD und Spark als Big-Data-Alternativen
- IBM-Statement zur Datenverarbeitung in der Cloud
- Intel-Statement zur Datenverarbeitung in der Cloud
- Cloud Dataflow und andere Big-Data-Werkzeuge