オブジェクトの削除方法

StorageGRIDは、クライアント要求に直接応答してオブジェクトを削除するか、S3準拠バケットの保持期間の終了、S3バケット ライフサイクルの終了、またはILMポリシーの要件に応じて自動的にオブジェクトを削除します。オブジェクトのさまざまな削除方法とStorageGRIDによる削除要求の処理方法を理解すると、オブジェクトをより効率的に管理できます。

StorageGRIDでは、次のどちらかの方法でオブジェクトが削除されます。

StorageGRIDは、削除のパフォーマンスを最適化し、削除のバックログを最小限に抑え、スペースを最も早く解放する方法でオブジェクトを削除します。

次の表は、StorageGRIDでそれぞれの方法が使用される状況をまとめたものです。

削除方法 使用される状況
オブジェクトを削除キューに登録 StorageGRIDは、次のいずれかの条件に該当する場合、オブジェクト コピーを削除キューに登録します。
  • 次のいずれかのイベントによってオブジェクトの自動削除がトリガーされた:
    • S3準拠バケットの保持期間が終了し、自動削除が選択された。
    • S3バケットのライフサイクル設定の有効期限または日数に達した。
    • ILMルールに指定された最後の期間が経過した。
  • S3 / Swiftクライアントが削除を要求し、次の条件を1つ以上満たしている:
    • オブジェクトがクラウド ストレージ プールに格納されている。
    • オブジェクトの場所が一時的に使用できないなどの理由で、30秒以内にコピーを削除できない。
    • バックグラウンド削除キューがアイドル状態である。
オブジェクトをただちに削除(同期削除) S3 / Swiftクライアントが削除要求を行い、次の条件をすべて満たしている場合、StorageGRIDは同期削除を実行します。
  • オブジェクトがストレージ ノードまたはアーカイブ ノードに格納されている。
  • すべてのコピーを30秒以内に削除できる。
  • 処理するオブジェクトがバックグラウンド削除キューに含まれている。

S3またはSwiftクライアントが削除要求を行うと、StorageGRIDはまずオブジェクトを削除キューに追加します。その後、同期削除の実行に切り替えます。処理するオブジェクトをバックグラウンド削除キューに追加することで、StorageGRIDはクライアントによる削除のバックログが発生しないようにしつつ、特に同時実行性の低いクライアントに対してより効率的に削除を処理することができます。

StorageGRIDによるオブジェクトの削除方法が及ぼす影響について

StorageGRIDがオブジェクトを削除する方法は、システムの動作に次のような影響を及ぼす可能性があります。

大量のオブジェクトを削除する場合に、スペースを短時間で解放することが優先されるのであれば、ILMなどの方法を使用してオブジェクトを削除するのではなく、クライアント要求を使用することを検討してください。通常、クライアントによって削除が実行された場合、StorageGRIDが同期削除を使用できるため、スペースはより短時間で解放されます。

オブジェクトの削除後にスペースを解放するために必要な時間は、次の要因によって異なります。
  • オブジェクト コピーが同期的に削除されるか、またはキューに登録されたあとで削除されるか(クライアントの削除要求の場合)。
  • グリッド内のオブジェクトの数や、オブジェクト コピーが削除対象キューに登録される場合のグリッド リソースの可用性などのその他の要因(クライアントによる削除およびその他の方法の場合)。