Skip to content
Tech News
← Back to articles

The Dataflow Model Revisited

read original get Streaming Systems (O'Reilly) by Tyler Akidau → more articles
Why This Matters

The authors of the influential Dataflow Model paper — the conceptual basis for Apache Beam, Google Cloud Dataflow and much of the modern streaming stack — publicly critique their own work on receiving VLDB's Test of Time award. They conclude the core ideas (event time, never waiting for data completeness, strong consistency) held up, but the developer-facing interface of windowing and triggers was over-engineered, and the real winners were database-style abstractions: SQL, incremental view maintenance, and materialized views with freshness contracts. It's a rare, candid retrospective that effectively hands the future of streaming analytics to the database world.

Key Takeaways
Worth a Look

Streaming Systems (O'Reilly) by Tyler Akidau — Written by Tyler Akidau and colleagues behind the Dataflow Model, this O'Reilly book expands the very ideas the paper revisits — event time, windowing, watermarks, triggers, and the streams-and-tables duality. It's the natural next read if the retrospective left you wanting the full argument in depth.

See Streaming Systems (O'Reilly) by Tyler Akidau on Amazon → Affiliate link — we may earn a commission on purchases, at no extra cost to you. Product picked by AI based on this article; it is not a tested recommendation.

Authors: Tyler Akidau, Rafael Fernández-Moctezuma, Reuven Lax, Daniel Mills

Abstract

Eleven years ago, the Dataflow Model paper argued that unbounded, out-of-order data was the new normal, and that we must stop waiting for data to ever become complete. It proposed a unified model (windowing, triggers, watermarks, and retractions) for freely trading off correctness, latency, and cost across batch and streaming engines. On the occasion of its VLDB Test of Time award, we grade our own work—a paper about streaming analytics, in truth if not in name—on what aged well, what aged badly, and what we missed. We find the paper’s core foundations largely sound: the primacy of event time, the futility of waiting for completeness, and the insistence on strong consistency aged well. But we got important parts of the analytical interface wrong: (1) we let windowing and triggering, whose semantics were tangled with operational concerns, dominate the exposition beyond their due, (2) triggers were an over-engineered answer to a question users should never have faced, and (3) the stream-centric worldview missed a deeper truth: streams and tables are two representations of the same object with different access semantics. The mechanisms that delivered on the paper’s analytical goals ultimately evolved out of the database playbook: SQL, incremental view maintenance, and materialized views with explicit freshness contracts. We focused too much on the mechanics of streaming instead of finishing what the database community started but never completed: making the complexity of analytical streaming disappear almost entirely. Still, the verdict is not all confession. We explore how the completeness principle split into two successful forms: watermarks (where streams stay visible) and snapshot-consistent refresh (where they do not); we trace why the latter reached far more users by asking far less of them, and generalize the former into declared constraints on change. We also (1) find the batch-versus-streaming debate was mostly semantic, (2) watch low-latency demand bifurcate along the old OLTP/OLAP line, leaving analytics happily at gentler freshness, (3) adopt the framing we wish we had started with (leave in, leave out, push harder), and (4) ponder the eventual disappearance of streaming beyond analytics.