TECH

为什么 Iceberg 社区选择遗弃 MoR 中的 positional delete?

若您关注过 Apache Iceberg 的最新进展,可能已听闻其引入了类似 Delta Lake 的 Deletion Vector(DV),并在读时合并(MoR)表中弃用定位删除(positional deletes)。

topic: lakehouse type: 笔记 origin: 笔记 score: 7 addedAt: 2025-07-31

来源: https://mp.weixin.qq.com/s/EwSB5I9-bXI-FjSL9jpfDQ


修订记录

版本时间说明
v12025-07-31初稿

原文总结

  • 若您关注过 Apache Iceberg 的最新进展,可能已听闻其引入了类似 Delta Lake 的 Deletion Vector(DV),并在读时合并(MoR)表中弃用定位删除(positional deletes)。

我的感想

此合并过程需构建内存位图(in-memory bitmap),在读写环节将 Parquet 文件序列化为位图的成本极高。查询引擎虽通过动态合并避免每次删除的重写开销,但大规模场景中暴露显著的设计与性能缺陷。

落地实践

  1. 结合当前场景补充可执行动作。
  2. 明确前置条件与风险边界。

评论