共用方式為


使用 Unity 目錄連線到雲端物件記憶體和服務

本文提供使用 Unity 目錄處理資料所需的雲端記憶體連線概觀,以及 Unity 目錄如何管理雲端記憶體和外部雲端服務存取權的相關信息。

注意

如果您的工作區是在 2023 年 11 月 9 日之前建立的,則可能無法啟用 Unity 目錄。 帳戶管理員必須為您的工作區啟用 Unity 目錄。 請參閱 為 Unity Catalog 啟用工作區

Unity 目錄如何使用雲端記憶體?

Databricks 建議使用 Unity 目錄來管理您儲存在雲端物件記憶體中的所有數據的存取權。 Unity 目錄提供一套工具來設定與雲端物件記憶體的安全連線。 這些連線提供完成下列動作的存取權:

  • 將未經處理資料內嵌至 Lakehouse。
  • 在 Unity Catalog 管理的雲端儲存中,建立和 讀取 的受管數據表和 的受管未結構化數據磁碟區
  • 註冊或建立 外部數據表, 包含表格式數據和 外部磁碟區, 包含使用雲端提供者管理的雲端記憶體中非結構化數據。
  • 讀取和寫入非結構化數據(如 Unity 目錄 磁碟區)。

為了更具體,Unity 目錄會以兩種主要方式使用雲端記憶體:

  • 您在 Databricks 中建立之受控數據表和受控磁碟區的預設(或「受控」儲存位置(非結構化、非表格式數據)。 這些受控記憶體位置可以在中繼存放區、目錄或架構層級定義。 您可以在雲端提供者中建立受控記憶體位置,但其生命週期完全由 Unity 目錄管理。
  • 用於儲存外部資料表和容量的儲存位置。 這些對資料表和磁碟區的存取是由 Unity Catalog 管理,但資料生命周期和檔案佈局是由您的雲端提供者和其他資料平台管理。 通常,您會使用外部數據表在 Azure Databricks 中註冊大量的現有數據,或在需要使用 Azure Databricks 外部的工具來寫入數據時也使用外部數據表。

如需有關受管理和外部資料表及磁碟區的詳細資訊,請參閱 什麼是資料表和視圖?什麼是 Unity Catalog 磁碟區?

警告

請勿為使用者提供 Unity 目錄受控數據表或磁碟區的記憶體層級存取權。 這會損害資料安全與治理。

將使用者授予 Azure Data Lake Storage Gen2 中的外部儲存位置的直接儲存層級存取權,不會承認 Unity Catalog 所授予或維護的任何權限或審計。 直接存取會略過 Unity 目錄的稽核、譜系和其他安全性和監視功能,包括訪問控制和許可權。 您有責任透過 ADLS Gen2 管理直接儲存體存取權限,確保使用者擁有透過 Fabric 授與的適當權限。

避免所有提供直接儲存層級寫入許可權的情況,尤其是這些情況涉及儲存 Databricks 管理資料表的儲存桶。 直接透過存儲對由 Unity Catalog 管理的任何物件進行修改、刪除或變更,可能會導致資料損毀。

支援哪些雲端記憶體提供者?

Azure Databricks 同時支援 Azure Data Lake Storage Gen2 容器和 Cloudflare R2 儲存桶,作為在 Unity Catalog 中註冊的資料和 AI 資產的雲端儲存位置。 R2 主要適用於您想要避免資料輸出費用的使用場景,例如跨雲端和區域進行差異共用。 如需詳細資訊,請參閱使用 Cloudflare R2 複本或將儲存體移轉至 R2

Unity 目錄如何控管雲端記憶體的存取權?

為了管理保存數據表和磁碟區之基礎雲端記憶體的存取權,Unity Catalog 會使用稱為 外部位置的安全性實體物件,該物件會定義雲端儲存位置的路徑,以及存取該位置所需的認證。 這些認證接著會在名為 儲存認證的 Unity Catalog 可保護物件中定義,。 藉由授與和撤銷 Unity 目錄中外部位置安全性實體的存取權,您可以控制雲端儲存位置中數據的存取權。 藉由在 Unity Catalog 中授予和撤銷對儲存認證安全物件的存取權,您可以控制創建外部位置對象的能力。

如需詳細資訊,請參閱使用 Unity 目錄管理雲端記憶體的存取權

雲端記憶體的路徑型存取

雖然 Unity 目錄支援使用雲端記憶體 URI 存取外部資料表和外部磁碟區的路徑型存取,但 Databricks 建議使用者使用資料表名稱讀取和寫入所有 Unity 目錄數據表,並使用 /Volumes 路徑存取磁碟區中的數據。 磁碟區 是大多數 Azure Databricks 使用者用來直接與雲端物件儲存中非表格數據互動的可保護物件。 請參閱 什麼是 Unity 目錄磁碟區?

警告

如果您使用非 Databricks 的客戶端或透過 Databricks 使用路徑方式存取來更新外部表格的元數據,這些元數據不會自動與 Unity Catalog 同步狀態。 Databricks 建議不要進行這類元數據更新,但如果您執行一個更新,則必須執行 MSCK REPAIR TABLE <table-name> SYNC METADATA,讓 Unity 目錄中的架構處於最新狀態。 請參閱 REPAIR TABLE

使用 Unity 目錄 雲端記憶體的最佳做法

Azure Databricks 需要使用 Azure Data Lake Storage Gen2 作為 Azure 儲存體服務,以取得使用 Unity 目錄治理在 Azure Databricks 中處理的數據。 Azure Data Lake Storage Gen2 可讓您分隔記憶體和計算成本,並利用 Unity 目錄所提供的精細存取控制。 如果數據儲存在 OneLake 中(Microsoft Fabric 數據湖),並由 Databricks 處理(略過 Unity 目錄),您將會產生配套的記憶體和計算成本。 與 Azure Data Lake Storage Gen2 儲存、讀取和寫入資料相比,這可能導致讀取成本高出大約 3 倍,寫入成本高出大約 1.6 倍。 Azure Blob 記憶體也與 Unity 目錄不相容。

功能 Azure Blob 儲存體 Azure Data Lake Storage Gen2 OneLake
由 Unity Catalog 支援 X X
需要購買額外的 Fabric 容量 X X
來自外部引擎的支援作業 - 讀取
- 寫入
- 讀取
- 寫入
- 讀取 (相較於從 Azure Data Lake Storage Gen2 讀取資料,讀取成本為 3 倍)。
- 不支援寫入。

如需詳細資訊,請參閱 OneLake 文件
部署 Regional Regional 全球
驗證 Entra ID 共用存取簽章 Entra ID 共用存取簽章 Entra ID
儲存體事件 X
虛刪除
存取控制 RBAC RBAC、ABAC、ACL RBAC (僅限資料表/資料夾,不支援快捷方式 ACL)
加密金鑰 X
存取層 線上封存 經常性存取、非經常性存取、極非經常性存取、封存 僅經常性存取

Unity 目錄如何控管其他雲端服務的存取權?

Unity 目錄會使用稱為 服務認證的安全性實體物件,管理對非記憶體服務的存取。 服務認證會封裝長期雲端認證,以存取使用者需要從 Azure Databricks 連線的外部服務。

服務認證並不旨在管理用作 Unity Catalog 受控儲存位置或外部儲存位置的雲端儲存的存取權限。 針對這些使用案例,請使用儲存憑證,詳情請參閱 Unity Catalog 如何控管雲端儲存存取?

如需詳細資料,請參閱:

下一步

如果您剛以系統管理員身分開始使用 Unity 目錄,請參閱:

如果您是新的使用者,且您的工作區已針對 Unity 目錄啟用,請參閱:

若要深入瞭解如何管理雲端記憶體的存取權,請參閱:

若要深入瞭解如何管理雲端服務的存取權,請參閱: