数据流模型重访
The Dataflow Model Revisited

原始链接: https://www.vldb.org/pvldb/volumes/19/paper/The%20Dataflow%20Model%20Revisited

在这篇关于其具有深远影响的“数据流模型”(Dataflow Model)论文的回顾中,作者 Akidau 等人反思了流式分析领域的十年历程。虽然该论文准确地识别了向无界、乱序数据转变的趋势,并确立了事件时间和强一致性的重要性,但作者们也承认其中存在重大的概念性错误。 他们认为,自己过分强调了流处理的机制(特别是窗口和触发器),而牺牲了更简单、更稳健的数据库式抽象。作者们现在认识到,“流与表”的二分法是伪命题;流和表仅仅是同一数据的不同访问表现形式。业界向 SQL、增量视图维护和物化视图的转变证明,其目标本应是屏蔽流处理的复杂性,而非将其暴露出来。 最终,作者们得出结论:最成功的流处理范式是那些对用户配置要求最低的范式。他们认为,流处理的未来在于将这些原则整合到标准数据库模型中,不再将流处理视为一种独立的范式,而是将其作为一种保持数据新鲜度的专业化机制。

Hacker News 上关于“重访数据流模型”(The Dataflow Model Revisited)的讨论显示,行业资深人士达成了共识:专门的流式编程模型在很大程度上未能成为主流,因为大多数企业更青睐 SQL 和传统批处理系统所带来的熟悉感与高效性。 深耕流式处理领域的专家认为,尽管流式处理在低延迟、有状态任务方面技术强大,但它在运维上过于复杂,对多数公司而言并无必要。因此,行业已将“流式”视为数据库架构的一种实现细节,而非独立的编程范式。现代分析主要依赖于具有“新鲜度”保证的 SQL 物化视图,这有效地吸纳了数据流模型的优势,而无需开发者采用复杂的专业流式语言。 尽管一些参与者认为流式处理在大规模、高并发应用(如大型实时仿真)中仍具潜力,但主流观点认为,流式处理应当对最终用户透明。归根结底,业界已达成共识:由优化的后台数据流执行所增强的标准关系模型,才是满足当前数据需求的最实用解决方案。
相关文章

原文

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.

联系我们 contact @ memedata.com