土法炼钢兴趣小组的算法知识备份

Z-set 增量 Join Demo

源码下载

本文相关源码已整理,共 1 个文件。

打开下载目录 →

目录

Z-set 增量 Join Demo

对应文章:【数据库研究前沿】流批一体与增量视图 第五节。

用纯 Python 标准库(无第三方依赖)演示 DBSP 论文里”双线性算子增量公式”的最小实现:

Δ(a ⋈ b) = Δa ⋈ b_old  +  a_old ⋈ Δb  +  Δa ⋈ Δb

运行

python3 zset_ivm.py

预期输出最后一行:

[ok] incremental join matches full recompute over 10000 random rounds

依赖

文件

我们在这里学到什么

  1. Z-set 上的 “撤回” 不是特殊情况,而是负重数的加法。
  2. 双线性公式的三项都不能省:Δa ⋈ Δb 看似小项,但它保证两边同时变化时结果正确。
  3. 一个视图的增量维护在代数上是几行公式;工程上贵的是状态的索引结构、并行 shuffle 与 checkpoint。这是 Materialize / RisingWave / Feldera 真正的差异所在。

By .