TECH
为什么 Iceberg 社区选择遗弃 MoR 中的 positional delete?
若您关注过 Apache Iceberg 的最新进展,可能已听闻其引入了类似 Delta Lake 的 Deletion Vector(DV),并在读时合并(MoR)表中弃用定位删除(positional deletes)。
来源: https://mp.weixin.qq.com/s/EwSB5I9-bXI-FjSL9jpfDQ
修订记录
| 版本 | 时间 | 说明 |
|---|---|---|
| v1 | 2025-07-31 | 初稿 |
原文总结
- 若您关注过 Apache Iceberg 的最新进展,可能已听闻其引入了类似 Delta Lake 的 Deletion Vector(DV),并在读时合并(MoR)表中弃用定位删除(positional deletes)。
我的感想
此合并过程需构建内存位图(in-memory bitmap),在读写环节将 Parquet 文件序列化为位图的成本极高。查询引擎虽通过动态合并避免每次删除的重写开销,但大规模场景中暴露显著的设计与性能缺陷。
落地实践
- 结合当前场景补充可执行动作。
- 明确前置条件与风险边界。
评论