Google Cloud Dataflow
Google Cloud Dataflow ist ein Cloud-basierter Datenverarbeitungsservice, mit dem sich automatisch Arbeitsabläufe für die Datenanalyse erstellen lassen. Die Daten können mit dem Dienst erfasst, bearbeitet und analysiert werden – und zwar sowohl für Batch-Anwendungen als auch für Echtzeit Data Streaming. Mit dem Service soll es einfacher werden, Erkenntnisse aus vorliegenden Daten zu ziehen und daraus hilfreiche Ableitungen für die Praxis zu treffen.
Der Service ermöglicht es Entwicklern, Daten-Pipelines für die Integration, die Vorbereitung und die Analyse großer Datenmengen einzurichten, wie sie in Web-Analytics oder Big-Data-Analytics-Anwendungen vorkommen. Programmcode und Ressourcen werden dabei automatisch optimiert zur Verfügung gestellt und verwaltet. Die eigentliche Berechnung erfolgt transparent im Hintergrund. Dataflow holt sich automatisch die Ressourcen und verteilt die Jobs, sodass die Analyse optimiert ablaufen kann.
Cloud Dataflow baut auf früheren Projekten von Google zu paralleler Verarbeitung auf und erweitert diese. Darunter befindet sich auch MapReduce, das ursprünglich bei Google entwickelt wurde. Cloud Dataflow wurde kreiert, um kompletten Analytic Pipelines schnelle parallele Ausführungen zu ermöglichen. Es basiert zum Teil auf MillWheel und FlumeJava, zwei von Google entwickelte Software-Frameworks.
Google Cloud Dataflow bietet ähnliche Funktionalitäten wie Software-Frameworks und Dienste von Mitbewerbern: Amazon Kinesis, Apache Storm, Apache Spark und Facebook Flux. Eine Preview auf die Technologie wurde auf der Google I/O-Entwicklerkonferenz in Juni 2014 gezeigt. Zugleich wurde Cloud Dataflow in begrenztem Umfang im Rahmen eines kontrollierten Beta-Programms zur Verfügung gestellt. Die erste Version wird von einem Java Software Development Kit (SDK) unterstützt. Andere Sprachunterstützungen sollen folgen.
Cloud Dataflow kann Daten in Publish-and-Subscribe-Modus von Google Cloud Pub/Sub Middleware Feeds übernehmen oder, im Batch-Modus, aus jeder Datenbank und jedem Dateisystem. Es kann mit Daten unterschiedlicher Größen und Strukturen umgehen und nutzt dafür ein Format namens PCollections, eine Abkürzung für Parallel Collection.
Google Cloud Dataflow enthält auch eine Bibliothek von parallelen Transformationen (Ptransforms), die eine High-Level-Programmierung sich oft wiederholender Aufgaben mit einfachen Vorlagen ermöglicht. Darüber hinaus unterstützt es Entwickleranpassungen von Datentransformationen. Der Service optimiert Verarbeitungsaufgaben - beispielsweise indem er mehrere Aufgaben auf einzelne Ausführungsschritte reduziert. Und er unterstützt SQL-Abfragen über Google BigQuery, einen Cloud-basierten Analytics-Service.