Das Dataflow Model ist ein von Google entworfenes Datenverarbeitungsmodell und ein praktischer Ansatz zur Verarbeitung großer, ungebundener und unsortierter Datenmengen. Es ist in dem im Jahr 2015 veröffentlichten Paper „The Dataflow Model: A Practical Approach to Balancing Correctness, Latency, and Cost in Massive-Scale, Unbounded, Out-of-Order Data Processing“ im Detail beschrieben.
Dataflow Model ist der Name eines von Google entworfenen Modells und praktischen Ansatzes, mit dem sich unter Ausbalancierung von Genauigkeit, Latenz und Aufwand große ungebundene und unsortierte Datenmengen verarbeiten lassen. Genauer beschrieben ist das Dataflow Modell in dem im Jahr 2015 veröffentlichten Paper mit dem englischen Titel „The Dataflow Model: A Practical Approach to Balancing Correctness, Latency, and Cost in Massive-Scale, Unbounded, Out-of-Order Data Processing“. Das Dokument kann über den Link https://research.google/pubs/pub43864/ abgerufen werden und steht unter Creative Commons Attribution-NonCommercial-NoDerivs 3.0 Unported License zur Verfügung. Im Dataflow Modell wird bewusst keine Unterscheidung zwischen Batch-, Micro-Batch und Stream-basierter Verarbeitung der Daten getroffen. Ersteller von Datenpipelines profitieren dadurch von einer gesteigerten Flexibilität bei der Abbildung ihrer spezifischen Use Cases.
Grundsätzliche Beschreibung der Problemstellung moderner Datenverarbeitungsaufgaben
Immer öfter müssen im heutigen Geschäftsumfeld riesige Mengen ungeordneter und ungebundener Daten verarbeitet werden. Beispiele für solche Daten sind Weblogs, Daten von Sensornetzwerken oder Nutzungsstatistiken aus dem Internetumfeld. Hinsichtlich des Event-Time Orderings, des von den Dateneigenschaften abhängigen Windowings und der Geschwindigkeit, mit der die Ergebnisse bereitgestellt werden, bestehen bei der Verarbeitung dieser Daten hohe Anforderungen.
Die besonderen Anforderungen an Genauigkeit, Latenz und Aufwand der Datenverarbeitung sind nur bis zu einem bestimmten Level auszubalancieren. Nicht selten führen die gestellten Anforderungen zu sehr unterschiedlich realisierten Lösungen und Systemen. Mit konventionellen Datenverarbeitungsmodellen lassen sich viele Use Cases nur sehr eingeschränkt umsetzen. Beispielsweise haben Batch-basierte Systeme wie MapReduce, Hadoop Pig und Hive, FlumeJava oder Spark Probleme mit der Realisierung der Latenzanforderungen. Streaming-Systeme kämpfen unter Umständen mit der Umsetzung der Windowing-Anforderungen, der Fehlertoleranz, der Genauigkeit und der Skalierbarkeit.
Google schlägt im Dataflow Model im Vergleich zu klassischen Modellen einen fundamental anderen Ansatz vor. Anstatt ungebundene Daten für endliche Datenverarbeitungsvorgänge und Informationspools aufzubereiten, sollen die Daten unter der Annahme prozessiert werden, dass nicht bekannt ist, wann und ob überhaupt alle Daten jemals sichtbar werden.
Begriffsklärung Unbounded/Bounded, Time Domains und Windowing
In der Beschreibung des Dataflow Models verwendet Google einige grundlegende Begriffe. Die Entwickler verzichten bewusst darauf, von Stream- und Batch-basierter Datenverarbeitung zu sprechen. Diese Art von Unterscheidung findet nicht statt. Stattdessen ist im Paper von bounded und unbounded (begrenzten und unbegrenzten bzw. gebundenen und ungebundenen) Datasets die Rede. So soll vermieden werden, dass die Verwendung einer bestimmten Datenverarbeitungs-Engine impliziert wird. Denn unbegrenzte Daten lassen sich nicht nur Stream-basiert und begrenzte Daten nicht nur Batch-basiert verarbeiten. Beispielsweise sind durch wiederholtes Ausführen von Batch-Systemen auch unbounded Daten prozessierbar. Mit passend gestalteten Streaming-Systemen lassen sich bounded Daten verarbeiten. Aus Sicht des Dataflow Models ist die Unterscheidung zwischen Streaming und Batch irrelevant.
Das Windowing unterteilt Datasets in begrenzte Datenblöcke, die sich als Gruppe verarbeiten lassen. Für die Verarbeitung ungebundener Daten ist Windowing für bestimmte, aber nicht für alle Arbeitsvorgänge notwendig. Für begrenzte Daten kann das Windowing ebenfalls eine sinnvolle Option darstellen. Windowing arbeitet zeitbasiert und findet gerichtet oder ungerichtet statt. Grundsätzlich wird bei der Verarbeitung von ungebundenen Daten zwischen den drei Window-Typen fixed (fest), sliding (gleitend) und Session-basiert unterschieden.
Bei der Verarbeitung von Event-abhängigen Daten kann zwischen zwei Time Domains unterschieden werden. Diese beiden Time Domains sind Event Time und Processing Time. Event Time ist die Zeit, zu der ein Event auftritt. Die Event Time eines Ereignisses verändert sich niemals. Bei der Processing Time handelt es sich um die Zeit, zu der ein Event an irgendeiner Stelle der Datenpipeline verarbeitet wird. Die Processing Time ändert sich mit jedem Datenverarbeitungsvorgang eines Events entlang der Datenpipeline. Mit sogenannten Watermarks lässt sich der Versatz zwischen den beiden Time Domains Event Time und Processing Time darstellen.
Stand: 08.12.2025
Es ist für uns eine Selbstverständlichkeit, dass wir verantwortungsvoll mit Ihren personenbezogenen Daten umgehen. Sofern wir personenbezogene Daten von Ihnen erheben, verarbeiten wir diese unter Beachtung der geltenden Datenschutzvorschriften. Detaillierte Informationen finden Sie in unserer Datenschutzerklärung.
Einwilligung in die Verwendung von Daten zu Werbezwecken
Ich bin damit einverstanden, dass die Vogel IT-Medien GmbH, Max-Josef-Metzger-Straße 21, 86157 Augsburg, einschließlich aller mit ihr im Sinne der §§ 15 ff. AktG verbundenen Unternehmen (im weiteren: Vogel Communications Group) meine E-Mail-Adresse für die Zusendung von Newslettern und Werbung nutzt. Auflistungen der jeweils zugehörigen Unternehmen können hier abgerufen werden.
Der Newsletterinhalt erstreckt sich dabei auf Produkte und Dienstleistungen aller zuvor genannten Unternehmen, darunter beispielsweise Fachzeitschriften und Fachbücher, Veranstaltungen und Messen sowie veranstaltungsbezogene Produkte und Dienstleistungen, Print- und Digital-Mediaangebote und Services wie weitere (redaktionelle) Newsletter, Gewinnspiele, Lead-Kampagnen, Marktforschung im Online- und Offline-Bereich, fachspezifische Webportale und E-Learning-Angebote. Wenn auch meine persönliche Telefonnummer erhoben wurde, darf diese für die Unterbreitung von Angeboten der vorgenannten Produkte und Dienstleistungen der vorgenannten Unternehmen und Marktforschung genutzt werden.
Meine Einwilligung umfasst zudem die Verarbeitung meiner E-Mail-Adresse und Telefonnummer für den Datenabgleich zu Marketingzwecken mit ausgewählten Werbepartnern wie z.B. LinkedIN, Google und Meta. Hierfür darf die Vogel Communications Group die genannten Daten gehasht an Werbepartner übermitteln, die diese Daten dann nutzen, um feststellen zu können, ob ich ebenfalls Mitglied auf den besagten Werbepartnerportalen bin. Die Vogel Communications Group nutzt diese Funktion zu Zwecken des Retargeting (Upselling, Crossselling und Kundenbindung), der Generierung von sog. Lookalike Audiences zur Neukundengewinnung und als Ausschlussgrundlage für laufende Werbekampagnen. Weitere Informationen kann ich dem Abschnitt „Datenabgleich zu Marketingzwecken“ in der Datenschutzerklärung entnehmen.
Falls ich im Internet auf Portalen der Vogel Communications Group einschließlich deren mit ihr im Sinne der §§ 15 ff. AktG verbundenen Unternehmen geschützte Inhalte abrufe, muss ich mich mit weiteren Daten für den Zugang zu diesen Inhalten registrieren. Im Gegenzug für diesen gebührenlosen Zugang zu redaktionellen Inhalten dürfen meine Daten im Sinne dieser Einwilligung für die hier genannten Zwecke verwendet werden. Dies gilt nicht für den Datenabgleich zu Marketingzwecken.
Recht auf Widerruf
Mir ist bewusst, dass ich diese Einwilligung jederzeit für die Zukunft widerrufen kann. Durch meinen Widerruf wird die Rechtmäßigkeit der aufgrund meiner Einwilligung bis zum Widerruf erfolgten Verarbeitung nicht berührt. Um meinen Widerruf zu erklären, kann ich als eine Möglichkeit das unter https://contact.vogel.de abrufbare Kontaktformular nutzen. Sofern ich einzelne von mir abonnierte Newsletter nicht mehr erhalten möchte, kann ich darüber hinaus auch den am Ende eines Newsletters eingebundenen Abmeldelink anklicken. Weitere Informationen zu meinem Widerrufsrecht und dessen Ausübung sowie zu den Folgen meines Widerrufs finde ich in der Datenschutzerklärung.
Bestandteile des Dataflow Models
Das Paper „The Dataflow Model: A Practical Approach to Balancing Correctness, Latency, and Cost in Massive-Scale, Unbounded, Out-of-Order Data Processing“ ist in mehrere Abschnitte unterteilt. Wichtige Bestandteile der Beschreibung des Dataflow Models sind:
ein Satz an Designprinzipien
eine kurze Diskussion der Erfahrungen von Google bei der Verarbeitung von großen, ungebundenen und unsortierten Datenmengen, die Google zur Entwicklung des Dataflow Models motivierten
ein Windowing-Modell inklusive einfacher API
ein Triggering-Modell mit einer flexiblen, deklarativen API
ein inkrementelles Processing-Modell
skalierbare Implementierungen der Modelle auf Basis der MillWheel-Streaming-Engine und der FlumeJava-Batch-Engine