Apache Iceberg 新增两项规范,让治理策略跨引擎可移植
Iceberg 用两项新规范推进跨引擎统一治理:读限制把策略执行权交给可信引擎,目录标签让治理上下文随数据走。
Databricks 解读 Apache Iceberg 社区新推进的两项 REST Catalog 规范:read restrictions(读限制)让 catalog 把行过滤和列屏蔽指令交给受信任的引擎去执行,catalog labels(目录标签)让治理上下文在目录之间可移植。文中说明了两者的适用场景与当前能力边界。
正文摘录
在此前的文章中,我们展示了开放表格式、开放 API 与统一治理如何汇聚在一起,共同完成 Open Lakehouse 的愿景 。我们还介绍了跨引擎的基于属性的访问控制(cross-engine attribute-based access control),它让在 Unity Catalog 中定义的策略在外部引擎访问受治理数据时能被一致地强制执行。 如今,这一愿景开始在开放生态中成形。Apache Iceberg™ 社区最近推进了 Iceberg REST Catalog 的两项重要新增:read restrictions(读限制)与 catalog labels(catalog 标签)。二者合力解决两个不同的难题:把强制执行委托给外部引擎,以及让治理上下文在不同 catalog 之间可移植。 本文将深入审视规范中的这两项新增内容:它们如何工作、解决了哪些关键难题、未来的创新机会,以及何时该用它们。 Read restrictions 针对的是一种常见的「引擎到 catalog」场景:组织在一个 catalog 中治理数据,并希望从各种引擎或工具中查询这些数据。 对于任何受治理的查询,必须发生三件事: 当从某个引擎访问数据时,这些职责可以有两种划分方式。 在集中式强制执行(centralized enforcement)下,三个步骤全都留在 catalog 的环境中。例如,Databricks 在专用计算上实现细粒度访问控制,做法是把查询透明地路由通过一个安全的过滤集群(filtering fleet)。