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
依赖
- Python 3.8+
- 仅标准库(
random、typing、collections)
文件
zset_ivm.py:Z-set 定义、加法、双线性 join、增量 join,以及一个随机化 sanity-check。
我们在这里学到什么
- Z-set 上的 “撤回” 不是特殊情况,而是负重数的加法。
- 双线性公式的三项都不能省:
Δa ⋈ Δb看似小项,但它保证两边同时变化时结果正确。 - 一个视图的增量维护在代数上是几行公式;工程上贵的是状态的索引结构、并行 shuffle 与 checkpoint。这是 Materialize / RisingWave / Feldera 真正的差异所在。
同主题继续阅读
把当前热点继续串成多页阅读,而不是停在单篇消费。
【数据库研究前沿】Text-to-SQL 与 Agentic Query:DIN-SQL、C3、DAIL-SQL 工程复盘
Spider / BIRD 评测、DIN-SQL / C3 / DAIL-SQL 的核心机制、schema linking 与 self-consistency,以及一个离线可跑的最小 Text-to-SQL 闭环 demo
【数据库前沿】【数据库研究前沿】流批一体与增量视图:Materialize、RisingWave、Feldera 的 DBSP 理论
以 IVM 历史、Differential Dataflow、DBSP(Z-set 与线性化)为主线,对比 Materialize、RisingWave、Feldera 的架构取舍,划清与 Flink/Kafka Streams 的能力边界,并附 Python Z-set 最小增量 join demo
【数据库前沿】【数据库研究前沿】HTAP 新范式:从 TiDB、SingleStore 到 Lakehouse 一体化
从工作负载隔离到行列双维护,系统梳理 TiDB + TiFlash、SingleStore Universal Storage、F1 Lightning 与 Lakehouse 的设计取舍、新鲜度边界与 HTAP 基准测试方法
【数据库前沿】【数据库研究前沿】Serverless 数据库弹性理论:Neon 与 Aurora Serverless v2
从 Aurora 的日志即数据库到 Neon 的 pageserver/safekeeper/compute 三层分离,拆解 Serverless 数据库的冷启动、细粒度伸缩与 copy-on-write 分支,并给出本地可跑的 Neon demo 指引