How Unity Catalog managed tables bring interoperability, performance, and unified governance to the Lakehouse
TL;DR · AI 摘要
How Unity Catalog managed tables bring interoperability, performance, and unified governance to the Lakehouse Databricks...
核心要点
- 主题聚焦:How Unity Catalog managed tables bring interoper
- 来源:Databricks,建议结合原文判断细节。
- AI 分析暂不可用,本条为保底评分与摘要。
Unity Catalog 管理表如何为 Lakehouse 带来互操作性、性能和统一治理 | Databricks 博客
跳至主要内容
平台
2026年7月13日
Unity Catalog 管理表如何为 Lakehouse 带来互操作性、性能和统一治理
外部引擎可以创建、读取和写入 Unity Catalog 管理的 Delta 表,同时实现集中式治理和自动优化。
作者:Alex Jiang 和 Tathagata “TD” Das
摘要
- 包括 Apache Spark、Apache Flink 和 DuckDB 在内的外部引擎现在可以创建并写入 UC 管理的 Delta 表,治理策略在 Unity Catalog 中统一实施
- UC 管理表通过预测性优化提升查询性能并降低存储成本,同时在外部引擎间保持完全互操作性。现有外部表可通过 ALTER TABLE SET MANAGED 原地升级,无需数据重写即可保留互操作性
- 外部访问基于开源 Unity Catalog(UC OSS)项目提供的开放 UC Delta API,因此支持的引擎可同时兼容 Databricks UC 和 UC OSS
Unity Catalog 的设计目标是实现大规模互操作性。企业可以灵活地在单一数据副本上运行任意引擎,并通过 Unity Catalog 统一实施治理策略。
今天,我们进一步推进互操作性。我们很激动地宣布,Unity Catalog(UC)管理 Delta 表的外部访问功能现已进入公开预览阶段。
过去一年,越来越多的引擎(从 Apache Spark、Flink 到 Starburst 和 DuckDB)已集成 UC 管理的 Delta 表,生态系统持续扩展。企业可以兼得两者优势:UC 管理表的价格性能优势,以及根据工作负载选择合适引擎的灵活性。Unity Catalog 保持作为核心治理层,确保各引擎间访问策略的一致性实施。
此前,需要多引擎访问的团队只能使用缺乏性能优化和治理保障的外部表。随着外部访问功能进入公开预览,这种取舍已成为过去。在价格、性能和互操作性方面,UC 管理表显然是 Lakehouse 的最佳选择。
为什么团队选择 Unity Catalog 管理表
UC 管理表结合了 Delta Lake 和 Apache Iceberg 的互操作性,同时内置自动优化功能,可提升查询性能、降低存储成本并长期保持表健康状态。它们也是平台功能的基础,如灾难恢复和 Zerobus 数据摄入。
Databricks 通过预测性优化自动调优管理表。预测性优化清理存储空间、收集查询统计信息,并自动选择 Liquid 聚合列以根据查询模式变化演进表结构。这些优势共同实现高达 50% 的存储成本节约和 20 倍的查询加速,同时消除数据团队手动调优表的需求。
我们最近宣布了目录提交功能的正式可用性,这使 Unity Catalog 成为 UC 管理表的提交协调器。外部客户端不再直接向云存储提交,而是通过目录协调 UC 管理 Delta 表的写入操作。这使 Unity Catalog 成为表状态的权威来源,从而实现安全的外部写入、多语句事务和外部操作审计等关键优势。
通过 Delta Kernel 扩展生态系统
对 UC 管理表的外部访问是 Delta Lake 和 Unity Catalog 开源生态系统更广泛投资的一部分。目标是将 Delta 与 Iceberg 首创的目录管理模型对齐,使企业能够在享受目录性能和一致性保证的同时,保持与任何引擎的互操作性。
我们通过 Delta Kernel 扩展 Delta 生态系统,该内核提供用于读取、写入和提交 Delta 表的库,而无需从头重新实现协议。与 UC OSS 中的 UC Delta API 配合使用,Delta Kernel 可让引擎无缝集成到 Databricks 管理的目录或自托管 UC OSS 部署中。
例如,DuckDB 在 Delta Kernel 上构建了其 Delta 和 Unity Catalog OSS 扩展。从 DuckDB v1.5.1 开始,它可以直接读写 UC 管理的 Delta 表。这体现了我们对开放、互操作生态系统的承诺:随着 Delta 协议的演进,基于内核构建的引擎会自动继承最新功能,因此客户无论选择哪种引擎,都能始终获得最新功能。
"DuckDB 用户重视能够通过轻量级分析引擎直接操作开放湖仓数据。Delta Lake 和 Unity Catalog 的集成帮助将这种体验带到受管企业表中,包括数据通过一个引擎写入后能被另一个引擎一致读取的工作流程。" ——DuckDB Labs 首席执行官 Hannes Mühleisen
我们正在与社区合作,开发更多基于内核的 UC 管理 Delta 表集成。例如,我们正在通过新的基于内核的 Flink 连接器,大力推动将 Flink 流处理工作负载引入 UC 管理表。
集中式治理
集中治理对于多引擎流水线至关重要。流式应用程序可能会将数据写入托管表,Spark可能会对其进行转换,Starburst或DuckDB可能会对其进行查询——无论使用何种引擎或查询背后的主体身份,都必须遵守访问控制。
Unity Catalog是跨所有引擎的统一治理层。平台团队可以通过UC权限控制哪些主体可以外部访问表以及可以执行哪些操作。跨引擎ABAC进一步扩展了这一能力,允许Unity Catalog在外部引擎读取时过滤行或掩码列。对于UC托管表,细粒度的访问控制在中心节点强制执行,无需任何自定义变通方案。
今天开始使用UC托管表
对于基于开放湖仓架构的团队而言,UC托管表是目前可用的最强基础。预测性优化会自动调整数据布局并执行表维护,在无需人工干预的情况下实现最佳的价格性能。互操作性也已内置:托管表以Delta或Iceberg格式存储,并且可以从任何引擎访问,因此团队无需在性能和灵活性之间做出取舍。
使用外部表的团队可以通过ALTER TABLE SET MANAGED原地升级现有表,从而获得预测性优化和目录提交功能,同时保留其依赖的开放多引擎访问能力。
我们的愿景清晰明确:客户应能为每个工作负载选择最佳引擎,同时在Unity Catalog中保持一份数据副本,实现最佳的价格性能和统一治理。
入门指南
UC托管Delta表的外部访问功能目前处于公开预览阶段,包括对外部客户端进行创建、读取和写入操作的支持。
入门步骤如下:
- 在您的Unity Catalog元数据存储中启用外部数据访问。
- 授予外部引擎需要访问的UC托管Delta表所在模式的EXTERNAL USE SCHEMA权限。
- 使用Delta 4.3和Unity Catalog 0.5.1客户端连接您的引擎。参见外部访问文档。
- 从外部引擎测试对启用目录提交的UC托管Delta表进行创建、读取和写入操作(或将现有外部表转换为托管表)。
有关Delta连接器的特定信息如下:
- Apache Spark - 请参阅Databricks文档和社区博客
- Apache Flink - 请参阅Github和社区博客
- StreamNative - 请参阅StreamNative博客
- Starburst – 请参阅Starburst文档
- DuckDB - 请参阅DuckDB文档和DuckDB博客
订阅最新文章
订阅我们的博客,即可将最新文章发送到您的邮箱。
注册
查看所有博客
slice-start id="_gatsby-scripts-1"
slice-end id="_gatsby-scripts-1"