Unity Catalog オブジェクトストレージのライフサイクル
Unity Catalog のセキュリティ保護可能なオブジェクトを (カタログエクスプローラー、SQL DROP などを介して) 削除すると、発生する事象はオブジェクトタイプとストレージタイプによって異なります。このページでは、データファイルのライフサイクル、ストレージの課金、および削除後の復元オプションについて説明します。
ストレージの種類によって、データファイルの処理が決まります
テーブルとボリュームに関しては、基になるデータファイルの処理は、アセットがマネージドであるか外部であるかによって異なります。この違いの詳細については、Unity Catalog の管理アセットと外部アセットの比較を参照してください。
-
マネージドテーブルとボリューム :Unity Catalog は、ストレージの場所とデータファイルのライフサイクルを制御します。データファイルは、メタストア、カタログ、またはスキーマ レベルで定義されたマネージドストレージロケーションに格納されます。マネージドテーブルまたはボリュームを削除すると、Unity Catalogは基になるデータファイルを多段階のライフサイクルを通じて削除します。マネージドストレージロケーションには2種類あります。
- **Databricks デフォルトストレージ**: Databricks が Databricks アカウント内でプロビジョニングおよび管理するオブジェクトストレージ。
- 顧客提供のマネージドストレージ :お客様のクラウドアカウント内の、メタストア、カタログ、またはスキーマレベルで構成された、Databricks がデータを書き込み、管理する管理対象ストレージの場所です。
どちらのフレーバーも同じデータファイルのライフサイクルを共有しますが、請求および削除後のファイル保持は異なります。Databricks のデフォルトストレージ上の管理対象オブジェクトと顧客提供ストレージを参照してください。
-
外部テーブルおよびボリューム :ストレージの場所とライフサイクルを管理します。外部テーブルまたはボリュームを削除すると、Unity Catalog はメタストアからメタデータを削除しますが、データファイルはクラウドストレージの場所に残ります。
-
外部カタログとフェデレーテッドカタログ :データは、別のデータソース(例えば、レイクハウスフェデレーションを介したフェデレーテッドデータベース、またはHive metastoreフェデレーションを介したHive metastore)に存在します。Unity Catalog は接続メタデータのみを格納します。フォーリンカタログを削除すると、Unity Catalog は接続メタデータを削除します。ソースシステム内のデータは影響を受けません。
他のセキュリティ保護可能なオブジェクト(カタログ、スキーマ、ビュー、関数、モデル)の場合、削除されるのはメタデータのみです。Unity Catalog が管理する関連データファイルはありません。カタログまたはスキーマをCASCADEで削除すると、含まれているテーブルとボリュームは、上記のそれぞれのマネージド動作または外部動作に従って削除されます。
削除済みオブジェクトを復元する
削除されたオブジェクトを回復する方法は、オブジェクトのタイプによって異なります。
オブジェクトタイプ | recovery |
|---|---|
テーブル、マテリアライズドビュー、ストリーミングテーブル | 削除から7日以内にUNDROPを使用してください。マテリアライズドビューとストリーミングテーブルは ETL パイプラインから作成されている必要があり、そのパイプラインは引き続き存在する必要があります。 |
カタログ、スキーマ、ボリューム、ビュー、関数、モデルなど | 削除すると、復元することはできません。 |
回復は時間制限があり、ベストエフォートです。データが不要であることを確認してから、オブジェクトを削除します。DROP CATALOGおよびDROP SCHEMAで、空でないオブジェクトの誤った再帰的な削除を防ぐために、RESTRICTオプション(デフォルト)を使用します。
削除後のマネージドデータのライフサイクル
マネージドテーブルまたはボリュームを削除しても、データファイルはすぐにクラウドストレージから削除されません。データファイルはリカバリ期間中に保持され、その後完全に削除されます。
フェーズ 1: 回復ウィンドウ
削除後7日間、Unity Catalog は、オブジェクトを回復できるように、ソフト削除されたデータを保持します。この期間中:
- テーブル、マテリアライズドビュー、およびストリーミングテーブルを復元するには、UNDROP SQL コマンドを利用してください。
- Unity Catalog は削除されたオブジェクトのメタデータを保持し、ストレージ料金は引き続き発生します。
フェーズ 2:消去
7日間の復元ウィンドウが終了すると、オブジェクトは復元できなくなります。Unity Catalog では、データファイルは 48 時間以内に完全に削除されます。各フェーズのストレージ請求の詳細については、「削除後のストレージ請求」をご覧ください。
Databricks のデフォルトストレージと顧客提供ストレージにおけるマネージドオブジェクトの比較
管理オブジェクトは2種類の管理ストレージを使用できます。データライフサイクルとUnity Catalogのパージ動作は同じですが、課金とパージ後のファイル保持は異なります。
ストレージタイプ | ファイル削除 |
|---|---|
Databricks のデフォルト ストレージ (Databricks がお客様に代わって管理) | Unity Catalog は、回復期間終了後 48 時間以内にデータファイルを完全に削除します。 |
顧客が提供する管理対象ストレージ(メタストア、カタログ、またはスキーマに構成されたクラウドストレージの場所) | Unity Catalog はリカバリ期間の終了後 48時間以内にデータファイルを完全に削除します。クラウドストレージのポリシー(オブジェクトバージョニング、ソフト削除、ライフサイクルルール)により、この時点以降もファイルが保持される場合があります。クラウドプロバイダーは、それらのポリシーに基づいてストレージに対して料金を請求します。 |
Databricks のデフォルトストレージの詳細については、Databricks のデフォルトストレージを参照してください。顧客提供マネージドストレージを構成するには、Unity Catalog でマネージドストレージの場所を指定するを参照してください。
外部テーブルおよびボリューム
外部テーブルまたは外部ボリュームを削除すると、Unity Catalog はメタストアからメタデータを削除します。クラウド ストレージ内のデータファイルは削除されません。お客様のクラウドプロバイダーは、お客様のバケットのポリシーに従ってストレージの料金を引き続き請求します。
ファイルを削除するには、クラウドストレージから直接削除します。
フォーリンカタログとフェデレーテッドカタログ
フォーリンカタログは、外部データソースを参照するメタデータを含みます。フォーリンカタログを削除すると、Unity Catalog は接続メタデータを削除します。データはソースシステム内で影響を受けません。ソースシステムでのストレージに対して、Databricks からの請求はありません。ソースシステムの課金が適用されます。
削除後のストレージ課金
以下の表は、Databricks とお使いのクラウドプロバイダーが各フェーズでストレージに対してどのように課金するかをまとめています。Databricks がストレージに請求を行うのは、Databricks のデフォルトストレージ上であり、かつリカバリ期間中のみです。7 日間のリカバリ期間が過ぎると、ストレージの請求は停止します。顧客が提供する管理ストレージと外部ストレージの場合、クラウドプロバイダーから直接請求されます。
ストレージタイプ | 回復ウィンドウ | フェーズ2の消去 | 消去後 |
|---|---|---|---|
Databricks のデフォルトストレージ上で管理 | Databricks 請求済み | 顧客への請求対象外(復旧期間を過ぎると課金は停止されます) | 該当なし |
顧客提供のストレージで管理されます | クラウドプロバイダーより請求済みです。 | クラウドプロバイダーより請求済みです。 | クラウドプロバイダー課金(バケットのポリシーによって管理されます) |
外部テーブルとボリューム | クラウドプロバイダーが請求されました(ファイルは削除されていません) | クラウドプロバイダーより請求済みです。 | クラウドプロバイダーより請求済みです。 |
フォーリンカタログとフェデレーテッドカタログ | 該当なし | 該当なし | 該当なし |
顧客指定のストレージ上の管理対象オブジェクトを削除した後も、クラウドプロバイダーからストレージ料金が引き続き発生する可能性があります。これらの料金を削減するには、バケットのオブジェクトのバージョン管理、論理的削除、およびライフサイクルポリシーを確認してください。
カタログ エクスプローラーからオブジェクトを削除する
ワークスペース UI のカタログエクスプローラーで Unity Catalog オブジェクトを削除できます。この記事で説明するデータライフサイクルは、カタログエクスプローラからオブジェクトを削除する場合でも、SQL DROP ステートメントを実行する場合でも適用されます。
ワークスペースを削除するとどうなりますか?
デフォルトでは、ワークスペースを削除しても、ワークスペースのデフォルト Unity Catalog カタログは自動的に削除されません。カタログが保持されている場合、そのマネージドテーブルとボリュームは残り、カタログが削除されるまでストレージの課金が継続されます。
ワークスペースカタログはワークスペース削除後に手動で削除する必要があります。同じメタストアに割り当てられている別のワークスペースからカタログを削除します。ワークスペースカタログのリテンション動作を参照してください。
ワークスペースの削除の詳細については、ワークスペースの削除を参照してください。