增量计算 · 论文中译

增量计算:三篇经典论文的中英对照

同一条研究脉络上的三篇论文——从「静态微分」到「流上的自动增量视图维护」。每页按原文段落 ↔ 中文译文逐段对照,可一键切换双语 / 只看中文 / 只看英文。

PLDI 2014

高阶语言的变化理论

A Theory of Changes for Higher-Order Languages

通过静态微分增量化 λ-演算

Yufei Cai, Paolo G. Giarrusso, Tillmann Rendel, Klaus Ostermann
VLDB 2023

DBSP:面向丰富查询语言的自动增量视图维护

DBSP: Automatic Incremental View Maintenance for Rich Query Languages

VLDB 2023 最佳论文

Mihai Budiu, Tej Chajed, Frank McSherry, Leonid Ryzhyk, Val Tannen
SIGMOD Record 2024

DBSP:流上的增量计算及其在数据库中的应用

DBSP: Incremental Computation on Streams and Its Applications to Databases

VLDB 2023 论文的精简改写版

Mihai Budiu, Tej Chajed, Frank McSherry, Leonid Ryzhyk, Val Tannen

这条脉络

ILC(PLDI 2014)提出:程序的「导数」可以把输入的变化直接映射为输出的变化,并借助「变化结构」把这一想法推广到带一等函数的高阶语言,正确性用 Agda 机器检验。

DBSP(VLDB 2023)把同一思想推到流与任意递归:用 ℤ-集合承载关系数据,用 $\mathcal{I}$ 与 $\mathcal{D}$ 定义增量化算子 $Q^\Delta = \mathcal{D} \circ {\uparrow}Q \circ \mathcal{I}$,再用链式法则把任意查询自动增量化,从而覆盖关系代数、聚合、递归 Datalog 等。

DBSP(SIGMOD Record 2024)是前者的精简改写版,篇幅约一半,并补充了查询计划质量、启动成本与工业采用的讨论。

关于译文

阅读建议

只想了解 DBSP 的核心思想 → 先看 SIGMOD Record 2024 的精简版,再看 VLDB 2023 全文。想弄清「为什么可以这样定义导数」→ 读 ILC 的 §2(变化结构)与 §3.5–3.6(变化语义与正确性)。ILC 是单篇、无前置依赖。