数据流模型重访
The Dataflow Model Revisited

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

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

围绕《重访数据流模型》的讨论揭示了业界资深人士的一个共识:专用的流处理模型在很大程度上未能成为通用分析的主流。尽管流处理曾被视为实现高吞吐量、低延迟系统的理想范式,但专家们如今一致认为,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