當你刪除 Unity 目錄 中可保護的物件 (透過目錄總管、SQL 等 DROP)時,會發生什麼事取決於物件類型和儲存類型。 本頁說明資料檔案生命週期、儲存計費,以及刪除後的復原選項。
儲存類型決定了資料檔案的處理方式
對於資料表和磁碟區,底層資料檔案會如何處理取決於該資產是受管理還是外部資產。 關於此區分的更多細節,請參閱 Unity 目錄中的管理資產與外部資產。
管理資料表與卷:Unity 目錄控制儲存位置與資料檔案生命週期。 資料檔案存放於元儲存庫、目錄或結構層級定義的管理儲存位置。 當你刪除受管理的資料表或卷時,Unity Catalog 會透過多階段生命週期刪除底層的資料檔案。 託管儲存地點有兩種類型:
- Azure Databricks 預設儲存:Azure Databricks 在你 Azure Databricks 帳號中配置和管理的物件儲存。
- 客戶提供的託管儲存:在你雲端帳號中,設定於元儲存庫、目錄或結構層級的雲端儲存位置,Azure Databricks 會寫入並管理資料。
兩種版本共享相同的資料檔案生命週期,但計費方式與刪除後檔案保留方式有所不同。 請參閱 Azure Databricks 上的受管理物件預設儲存與客戶提供儲存的差異。
外部資料表與磁碟區:您可以控制儲存位置與生命週期。 當你刪除外部資料表或磁碟區時,Unity Catalog 會從中繼儲存庫移除元資料,但資料檔案仍留在你的雲端儲存空間。
外部與聯邦目錄:資料位於另一個資料來源中(例如透過 Lakehouse Federation 連接的聯邦資料庫,或透過 Hive metastore federation 連接的 Hive 中繼資料存放區)。 Unity 目錄只儲存連線元資料。 當你刪除外部目錄時,Unity 目錄會移除連線的元資料。 來源系統的資料則不受影響。
對於其他可保護的物件(目錄、結構、檢視、函式、模型),刪除只會移除元資料——Unity 目錄沒有相關資料檔案可管理。 使用 CASCADE 刪除目錄或結構描述時,會移除其中包含的資料表和磁碟區,而各自會依前述受管理或外部的行為處理。
恢復已刪除的物件
你如何恢復已刪除的物件取決於物件類型。
| 物件類型 | Recovery |
|---|---|
| 表格、實體化視圖、串流表格 | 刪除後7天內使用 UNDROP 。 實體化的視圖與串流資料表必須是從 ETL 管線建立的,且該管線必須仍然存在。 |
| 目錄、結構描述、磁碟區、視圖、函數、模型 | 刪除後無法恢復。 |
警告
復原是時間有限且盡力而為。 只有在確認不再需要資料後,才刪除物件。 使用RESTRICT預設DROP CATALOGDROP SCHEMA選項,防止非空物件意外遞迴刪除。
刪除後受管理資料的生命週期
刪除受管理的資料表或卷並不會立即從雲端儲存中刪除資料檔案。 資料檔案會在復原視窗中保留,之後則永久刪除。
第一階段:恢復期
刪除後的 7 天內,Unity 目錄會保留軟刪除的資料,讓你能恢復該物件。 在此期間:
- 使用 UNDROP SQL 指令來恢復資料表、實體化檢視和串流資料表。
- Unity Catalog 會保留已刪除物件的中繼資料,且儲存費用仍會持續計費。
第二階段:清洗
當7天的回收窗口結束後,該物品將無法再被回收。 非同步清除程序會永久刪除資料檔案。 關於每個階段的儲存計費細節,請參見 刪除後的儲存計費。
Note
清除不會在恢復視窗結束時立即執行。 它可以在刪除後 7 天到大約 30 天內的任何時間點刪除資料檔案。 如果你追蹤雲端儲存容量回收的時間,刪除後最多可能需要 30 天。
Azure Databricks 上受控物件的預設儲存體與客戶提供的儲存體
受管理物件可以使用兩種類型的受管理儲存。 資料生命週期與 Unity Catalog 的清除行為相同,但帳單與清除後的檔案保留方式有所不同。
| 儲存體類型 | 檔案清理 |
|---|---|
| Azure Databricks default storage (由 Azure Databricks 代表你管理) | Unity Catalog 會在復原視窗結束後,透過非同步清除程序永久刪除資料檔案。 |
| 客戶提供的管理儲存( 您在元儲存庫、目錄或架構上設定的雲端儲存位置) | Unity Catalog 會在復原視窗結束後,透過非同步清除程序永久刪除資料檔案。 你的雲端儲存政策(物件版本控制、軟刪除、生命週期規則)可能會在此之後繼續保留檔案。 你的雲端服務提供商會依照這些政策向你收取儲存費用。 |
欲了解更多關於 Azure Databricks 預設儲存的資訊,請參閱 Databricks 中的預設儲存。 要設定客戶提供的託管儲存,請參見 Unity 目錄中的「指定託管儲存位置」。
外部資料表與磁碟區
當你刪除外部資料表或外部磁碟區時,Unity Catalog 會從中繼資料存放區移除其中繼資料。 你雲端儲存中的資料檔案並未被刪除。 您的雲端服務供應商會根據您儲存桶的政策設定,持續向您收取儲存費用。
要移除檔案,請直接從雲端儲存中刪除。
外國與聯邦目錄
外國目錄包含參考外部資料來源的元資料。 當你刪除外部目錄時,Unity 目錄會移除連線的元資料。 來源系統中的資料不受影響。 Azure Databricks 不會向你收取來源系統中儲存體的費用;適用來源系統的計費方式。
刪除後的儲存體計費
下表總結了 Azure Databricks 與您的雲端供應商在每個階段的儲存計費方式。 Azure Databricks 只會在 Azure Databricks 預設儲存空間上收費,且只會在恢復期間計費——儲存帳單會在 7 天恢復期過後停止。 對於客戶提供的託管儲存和外部儲存,你的雲端服務提供商會直接向你收費。
| 儲存體類型 | 恢復窗口 | 第二階段清洗 | 清洗後 |
|---|---|---|---|
| 在 Azure Databricks 預設儲存體上管理 | Azure Databricks 已計費 | 無法由客戶計費(帳單一旦恢復期過後停止計費) | 不適用 |
| 在客戶提供的儲存空間上管理 | 雲端供應商帳單 | 雲端供應商帳單 | 由雲端供應商計費(受您儲存貯體的政策控管) |
| 外部資料表與磁碟區 | 雲端服務提供者已計費(檔案未被刪除) | 雲端供應商帳單 | 雲端供應商帳單 |
| 外國與聯邦目錄 | 不適用 | 不適用 | 不適用 |
在客戶提供的儲存裝置中刪除受管理物件後,你仍可能看到雲端供應商的儲存費用。 為了降低這些費用,請檢查你的儲存桶的物件版本設定、軟刪除和生命週期政策。
從目錄檔案總管中刪除物件
你可以在工作區 UI 的 Catalog Explorer 中刪除 Unity Catalog 物件。 本文所述的資料生命週期適用於你從目錄檔案總管刪除物件或執行 SQL DROP 語句。
刪除工作區會發生什麼事
預設情況下,刪除工作區不會自動刪除該工作區的預設 Unity 目錄。 若目錄被保留,其管理的資料表與卷仍保留,儲存計費則持續,直到目錄被移除為止。
Azure Databricks 提供強制刪除選項,會移除工作區目錄及其資料,作為工作區刪除的一部分。 請參見 強制刪除工作區目錄。 如果工作區目錄沒有被強制刪除,則在工作區刪除後仍會保留,必須手動丟棄。
關於工作區刪除的細節,請參見 「刪除工作區」。