The Dataflow Model Revisited
A Retrospective: The Dataflow Model Revisited
Context: Originally published in the Proceedings of the VLDB Endowment (Volume 19, No. 12), this piece serves as a self-critique and reflection following the paper's receipt of the VLDB Test of Time award.
📜 The Original Thesis
Over a decade ago, the authors posited that the industry must accept a new reality: data is inherently unbounded and arrives out-of-order. The fundamental mistake of the era was the futile attempt to wait for data to become "complete."
To solve this, they introduced a unified framework designed to balance three competing pressures:
| Dimension | Goal | Mechanism |
|---|---|---|
| Correctness | High Accuracy | Retractions & Watermarks |
| Latency | Low Delay | Triggers |
| Cost | Resource Efficiency | Windowing |
🎓 Grading the Legacy
The authors evaluate their previous work to determine what remained relevant and what became obsolete.
✅ What Aged Well
- The primacy of event time over processing time.
- The realization that waiting for total completeness is a losing battle.
- The commitment to maintaining strong consistency.
❌ What Aged Poorly
- Interface Overload: Windowing and triggering were given too much spotlight, blurring the line between analytical intent and operational execution.
- Over-Engineering: . They were a sophisticated solution to a problem that users should never have had to manage manually.
- The Perspective Gap: The authors focused on a "stream-centric" view, ignoring the .
The Stream-Table Duality
The authors now realize that streams and tables are not different entities, but rather two ways of looking at the same object:
🛠️ The Evolution of Implementation
The goals of the original paper were eventually achieved not through "streaming mechanics," but through the established database playbook.
The industry shifted toward:
SQLas the primary interface.- Incremental View Maintenance (IVM).
- Materialized views governed by explicit freshness contracts.
The Batch-vs-Streaming Debate This conflict was revealed to be largely semantic rather than technical.
The Completeness Principle
The original concept of "completeness" diverged into two distinct architectural paths:
- Watermarks: Where the stream remains visible as it evolves.
- Snapshot-Consistent Refresh: Where the stream is hidden until a consistent state is reached.
The latter proved more popular because it reduced the cognitive load on the user. In mathematical terms, the trade-off can be viewed as:
🔮 Final Reflections
The authors conclude by redefining their framework and looking forward:
- New Framing: They suggest a simpler mental model: leave in, leave out, push harder.
- Bifurcation: Low-latency requirements have split along the traditional OLTP (Online Transaction Processing) and OLAP (Online Analytical Processing) lines, allowing analytics to operate at a more sustainable "gentler" freshness.
- The Future: They speculate on a world where "streaming" as a distinct concept disappears, absorbed entirely into general analytics.
-- Conceptual shift: From complex triggers to simple views
CREATE MATERIALIZED VIEW analytics_summary AS
SELECT window_start, count(*)
FROM events
GROUP BY window_start
WITH FRESHNESS = '1 minute';