カタログバージョンを削除します カタログのバージョンを削除してストレージコストを管理すると、バージョン管理されたレイヤーのデータライフサイクル管理をより詳細に制御できます。
古いバージョンを手動または自動で安全に削除して、バージョン管理されたデータの保存期間を管理し、バージョン付レイヤー のコストを制御できます。 カタログバージョンの削除では、バージョン管理されたレイヤーからのみデータが安全に削除され、単一のカタログ内の異なるバージョン管理されたレイヤー間に存在する依存関係が失われることはありません。 カタログバージョンを削除すると、カタログ設定情報が保持され、その結果、カタログ内のバージョン化されたレイヤーの全体的なデータ整合性が維持されます。 カタログバージョンの削除は、カタログに保存されている他のレイヤータイプには影響しません。バージョン管理されているレイヤーのみが影響を受けます。
警告 カタログのバージョンを削除すると、パーティション メタデータ およびそれらのバージョンに関連付けられているデータが完全に削除され、復元不可能になります。 これは、カタログ内のすべてのバージョン管理されたレイヤーに影響します。 現在の削除されていないバージョンでまだ使用されているパーティション メタデータ およびデータは削除されないため、削除されていないバージョンは引き続き機能します。
一般に、パーティション ごとに一意のデータ ハンドル を使用し、複数のパーティションでデータハンドルを再利用しないことをお勧めします。 これにより、カタログのバージョンを削除しても、すべてのパーティションが既存のブロブを参照するようになります。
場合によっては、ストレージの最適化に同じデータブロブが何度も使用される場合がありますが、データ ハンドル は同じバージョン内でのみ再利用できます。 データの削除中、データサービスはカタログの最小バージョン内でのみ、まだ使用されているデータハンドルを確認します。
異なるカタログバージョンで同じデータ ハンドル を再利用すると、パーティションが存在しないデータを参照します。
注 カタログの最新の単一バージョンは削除できません。 最後の単一バージョンを削除するには、カタログを削除する必要があります。
カタログバージョンを手動で削除します metadata
このサービスを使用して、カタログの最小バージョンを設定できます。 以前のすべてのカタログバージョンが削除されます。 最小バージョン以上のカタログバージョンは削除されません。 同様に、現在削除されていないバージョンでまだ使用されているパーティション メタデータおよびデータは削除されないため、削除されていないバージョンは引き続き機能します。
図 1. バージョンの削除 前の図では、カタログには 2 つのパーティションを持つ 3 つのバージョンがあります。 A および B 。バージョン 2 の公開中に、パーティション A が A に更新されますが、パーティション B はコミットされません。 最小バージョンを 2 に設定すると、パーティション A は削除されますが、パーティション A は削除されません。
カタログのバージョンを手動で削除するに metadata
は、サービスを使用して、最小バージョンを設定します。 metadata
サービスの使用に関する API リファレンス の詳細について は、『メタデータ API リファレンス 』を参照してください。
認可トークンを取得します。 手順について は、『 Identity & Access Management Guide 』を参照してください。 API ルックアップサービスを使用して、削除するバージョンのカタログのmetadata
v1
API の API エンドポイントを取得します。 手順については 、『 API Lookup 開発者ガイド 』を参照してください。 次のリクエストを使用して、カタログのメタデータの最小バージョンを設定します。
POST /catalogs/< catalogHrn> /versions/minimum HTTP/1.1
Host: < Hostname for the metadata API from the API Lookup Service >
Authorization: Bearer < Authorization Token >
{
"version": 1
}
リクエストが返さ 204 No Content
れます。
最小バージョンを設定すると、別のリクエストで検証できます。
GET /catalogs/< catalogHrn> /versions/minimum HTTP/1.1
Host: < Hostname for the metadata API from the API Lookup Service >
Authorization: Bearer < Authorization Token >
リクエストは 200 OK
、次の応答本文で返されます。
{
"version" : 1
}
注 実際のデータ削除プロセスは非同期で実行され、ユーザーの観点からの結果の処理など、データの内部処理によって要求がブロックされないようにします。 物理的なメタデータ およびデータの削除には最大 3 日かかることがあり、その期間は請求が続行されます。
metadata
サービスの使用方法の詳細については 、『 API リファレンス 』を参照してください。
カタログのバージョンを自動的に削除します この config
サービスを使用すると 、カタログの作成時または後の段階で、automaticVersionDeletion
および numberOfVersionsToKeep
を有効にして設定することで、カタログのバージョンを自動的に削除できます。
カタログ内のバージョン数がに設定された値を超えると numberOfVersionsToKeep
、カタログに新しい最小バージョンが設定され、それよりも前のすべてのバージョンが削除されます。 最小バージョン以上のカタログバージョンは削除されません。 同様に、現在削除されていないバージョンでまだ使用されているパーティション メタデータ およびデータは削除されないため、削除されていないバージョンは引き続き機能します。 の最大許容値 numberOfVersionsToKeep
は 50,000 です。
たとえば、 10 個のバージョンを持つバージョン付レイヤー では、を設定してカタログを設定 numberOfVersionsToKeep=10
し、最大 10 個のバージョンを保存できます。 バージョン 11 の次の増分では、ジョブによってバージョン 1 の削除が非同期でトリガーされます。 このプロセスは、新しいコミットごとに繰り返されます。
注 実際のデータ削除プロセスは非同期で実行され、データの内部処理によって要求がブロックされません。 したがって、データの削除プロセスは最終的に整合性が保たれます。 物理的なメタデータ およびデータの削除には最大 3 日かかることがあり、その期間は請求が続行されます。
自動バージョン削除を有効にします カタログバージョンの自動削除を有効にするには、 numberOfVersionsToKeep
サービスを使用してを設定します config
。 config
サービスの使用方法の詳細について は、『 設定 API リファレンス 』を参照してください。
認可トークン を取得します。 詳細について は、『 Identity & Access Management Guide 』を参照してください。 API ルックアップサービスを使用 して、 config
v1
API の API エンドポイントを取得し、カタログを更新します。 詳細について は、『 API ルックアップガイド 』を参照してください。 numberOfVersionsToKeep
次のリクエストを使用して、カタログの構成にを設定します。
注 の最大許容値 numberOfVersionsToKeep
は 50,000 です。
PUT /catalogs/< catalogHrn> HTTP/1.1
Host: < Hostname for the config API from the API Lookup Service >
Authorization: Bearer < Authorization Token >
Content-Type: application/json
{
...
NOTE: remainder of the catalog configuration hidden for clarity
...
"automaticVersionDeletion": {
"numberOfVersionsToKeep": 10
}
}
リクエストが返さ 202 Accepted
れます。
カタログの作成時に自動バージョン削除を有効にします 同様 automaticVersionDeletion
に、はカタログ作成操作で設定できます。 カタログの作成の詳細について は、『設定 API リファレンス 』を参照してください。
自動バージョン削除を無効にします カタログバージョンの自動削除を停止 config
するには、 API を使用します。
認可トークンを取得します。 手順について は、『 Identity & Access Management Guide 』を参照してください。 API ルックアップサービスを使用して、config
v1
API の API エンドポイントを取得し、カタログを更新します。 手順については 、『 API Lookup ディベロッパー ガイド 』を参照してください。 次のリクエストを使用して、自動バージョン削除を無効にします。
DELETE /catalogs/{catalogHrn}/automaticVersionDeletion HTTP/1.1
Host: < Hostname for the config API from the API Lookup Service >
Authorization: Bearer < Authorization Token >
Content-Type: application/json
リクエストが返さ 202 Accepted
れます。