Apache Iceberg 1.11.0于2026年5月19日正式发布。这次更新不是常规的漏洞修补,而是对开放数据湖架构底层的一次结构性改造。开发团队完成了三个核心方向的工作:安全机制升级、文件格式扩展、查询规划性能优化。
版本1.11.0的迭代逻辑可以拆成两条主线。第一条线针对元数据规范做了结构性调整,目的是支撑更细粒度的安全能力,同时为后续格式版本迭代预留空间。第二条线则是将此前处于实验状态的功能标记为稳定版本,成为默认配置。
本文聚焦其中最值得关注的一项改进:清单列表加密(Manifest List Encryption)。这项功能由@ggershinsky提交的PR #7770引入,并在PR #15813中完成配套优化。
数据湖的安全实践长期存在一个盲区。对象存储中的Parquet、ORC等数据文件可以加密,但表元数据——包括JSON元数据、清单列表、清单文件——在默认配置下是明文存储的。任何拥有存储桶读取权限的人都能直接查看这些文件,从中提取文件路径、列名、分区键、分区边界、空值统计等敏感结构信息。对医疗、金融等强监管行业而言,这种"结构泄露"本身就是重大风险。
PR #7770的解决方案是为清单列表添加原生加密能力,采用GCM(Galois/Counter Mode)流加密算法。加密后的数据流在架构中的位置如下:元数据JSON保留加密状态引用,清单列表以密文形式存储,查询时由引擎在内存中解密,再用于分区裁剪和文件过滤。整个过程中,明文清单列表不会落盘。
表级加密配置可在建表时指定,也可通过表属性动态更新。查询引擎的执行流程随之调整:先从目录服务获取元数据位置和解密密钥,再读取并解密清单列表,最后基于解密后的分区统计信息完成文件裁剪。这套机制把元数据保护的粒度从"数据文件"下沉到了"元数据索引层"。
对于数据工程师和平台架构师而言,这意味着可以在不改造存储层的前提下,满足更严格的合规审计要求。下一步需要关注的是:加密带来的内存开销是否在可接受范围内,以及密钥管理服务与现有目录系统的集成复杂度。
热门跟贴