AI News HubLIVE
站內改寫2 分鐘閱讀

Unity Catalog 託管表如何為 Lakehouse 帶來互操作性、性能和統一治理

Databricks 宣佈 Unity Catalog (UC) 託管 Delta 表的外部訪問現已公開預覽。外部引擎(如 Apache Spark、Flink、Starburst、DuckDB)可以創建、讀取和寫入 UC 託管表,同時通過 Unity Catalog 統一執行治理。託管表通過預測優化自動調整查詢性能並降低存儲成本,支持無數據重寫地原地升級現有外部表。該功能基於開放 API,與開源 Unity Catalog (UC OSS) 兼容。

近日,Databricks 宣佈 Unity Catalog (UC) 託管 Delta 表的外部訪問功能進入公開預覽階段。這意味着,Apache Spark、Apache Flink、Starburst、DuckDB 等外部引擎現在可以直接創建、讀取和寫入 UC 託管表,同時所有操作都受到 Unity Catalog 統一治理層的管控。

UC 託管表結合了 Delta Lake 和 Apache Iceberg 的互操作性,並內置了自動優化功能——預測優化(Predictive Optimization)。該功能自動清理存儲、收集查詢統計信息,並基於查詢模式的變化自動選擇 Liquid 聚類列來演變表佈局。據 Databricks 稱,這可以帶來高達 50% 的存儲成本節省和 20 倍的查詢加速,同時消除了數據團隊手動調優表的需求。

此外,最近正式發佈的目錄提交(catalog commits)使 Unity Catalog 成為 UC 託管表的提交協調器。外部客户端不再直接向雲存儲提交,而是通過 Catalog 進行協調,從而使 Unity Catalog 成為表狀態的唯一真實來源。這帶來了安全的外部寫入、多語句事務以及外部操作審計等關鍵好處。

外部訪問基於開放的元數據、憑證分發和提交協調 API 構建。憑證分發根據 UC 權限發放短期、作用域受限的憑證,而 Unity Catalog Delta API 則為 Delta 引擎提供創建、讀取和寫入操作的版本化契約。這些 API 是開放的,並在 Unity Catalog OSS 項目中實現,因此任何引擎都可以集成創建、讀取和寫入支持。結果是一個不斷增長的引擎生態系統,它們都在 Databricks UC 和 UC OSS 中操作相同的數據副本。

合作伙伴已經圍繞這些 API 進行構建。例如,Starburst 集成了 Unity Catalog 和 Delta Lake 以支持創建、讀取和寫入 UC 託管 Delta 表。Starburst 首席執行官 Justin Borgman 表示:“Starburst 與 Databricks 對數據生態系統開放性和互操作性的願景一致。通過與 Unity Catalog 託管表集成,我們使客户能夠創建所有數據的單一真實來源,同時集中治理並靈活選擇他們喜歡的工具。”

Databricks 還通過 Delta Kernel 擴展生態系統。Delta Kernel 提供了讀取、寫入和提交 Delta 表的庫,而無需從頭開始重新實現協議。通過與 UC OSS 中的 UC Delta API 配合,Delta Kernel 使引擎能夠無縫集成 Databricks 管理的 Catalog 或自託管的 UC OSS 部署。例如,DuckDB 基於 Delta Kernel 構建了其 Delta 和 Unity Catalog OSS 擴展。自 DuckDB v1.5.1 起,它可以直接讀取和寫入 UC 託管 Delta 表。DuckDB 實驗室首席執行官 Hannes Mühleisen 評論道:“DuckDB 用户重視能夠從輕量級分析引擎直接處理開放的湖倉數據。Delta Lake 和 Unity Catalog 集成有助於將這種體驗帶到受治理的企業表,包括通過一個引擎寫入的數據可由另一個引擎一致讀取的工作流。”

統一治理對於多引擎管道至關重要。無論引擎或身份如何,訪問控制都必須得到尊重。Unity Catalog 是所有引擎的單一治理層。平台團隊通過 UC 權限控制哪些主體可以外部訪問表以及他們可以做什麼。跨引擎的基於屬性的訪問控制(ABAC)進一步擴展了這一點,允許 Unity Catalog 在外部引擎讀取時過濾行或掩碼列。

對於希望開始使用的團隊,Databricks 建議在 Unity Catalog 元存儲上啓用外部數據訪問,授予包含 UC 託管 Delta 表的模式 EXTERNAL USE SCHEMA 權限,然後使用 Delta 4.3 和 Unity Catalog 0.5.1 客户端連接引擎。現有外部表可以通過 ALTER TABLE SET MANAGED 原地升級,無需數據重寫。

Databricks 的願景是清晰的:客户應該能夠為每個工作負載使用最佳引擎,同時在 Unity Catalog 中保留一份數據副本,享受最佳性價比和統一治理。