MaxCompute テーブルのライフサイクル機能は、最終更新日時から指定された期間、変更されないままのテーブルまたはパーティションのデータを自動的に回収します。この指定された期間がライフサイクルです。ライフサイクルを設定することで、自動データクリーンアップまたは保持が可能になり、ストレージコストを削減できます。
基本的な定義と機能
-
単位と値:ライフサイクルの単位は日です。値は正の整数である必要があります。
-
機能:テーブルまたはパーティションの定期的な自動回収を可能にします。
回収ルール
-
開始時刻:ライフサイクル計算は、テーブルまたはパーティションの最終データ変更時刻(
LastModifiedTime)から開始されます。 -
トリガー条件:
回収は、
LastModifiedTimeが指定されたライフサイクル期間を超えた場合にのみ発生します。テーブルまたはパーティションは、(現在時刻 - LastModifiedTime) > ライフサイクル日数の場合に回収の対象となります。 -
実行メカニズム:
システムは、毎日スケジュールされた時刻にすべてのテーブルとパーティションをスキャンし、回収候補を特定します。実際の回収タイミングは、サービスの負荷に依存します。有効期限が切れた直後の実行は保証されません。データの有効期限が切れた後、データは 24 時間以内に削除されます。
-
例:
パーティションテーブルのライフサイクルが 1 日で、あるパーティション内のデータの最終更新時刻が
2026 年 2 月 17 日 15:00であると仮定します。 テーブルが2026 年 2 月 18 日 15:00より前にスキャンされた場合、そのパーティションは回収されません。 2026 年 2 月 19 日のスキャンで、パーティションのLastModifiedTimeが指定されたライフサイクル期間を超えていることが判明した場合、そのパーティションは回収されます。
テーブルタイプごとの適用ルール
-
非パーティションテーブル
-
ライフサイクルはテーブル全体に適用されます。
-
テーブル作成時にライフサイクルを指定できます。ライフサイクルを指定しない場合、MaxCompute はライフサイクルルールに基づいてテーブルを自動的に回収しません。
-
テーブルデータがライフサイクル内に変更されない場合、MaxCompute は指定された日数が経過した後、
DROP TABLE操作と同様にテーブル全体を自動的に回収します。 -
テーブルを削除すると、ライフサイクルを含むすべてのプロパティ情報が削除されます。同じ名前で新しいテーブルを作成すると、テーブルのライフサイクルは新しく設定されたプロパティに従います。
-
-
パーティションテーブル
-
ライフサイクルは個々のパーティションに適用されます。ただし、ライフサイクルはテーブルレベルでのみ設定できます。パーティションレベルでライフサイクルを設定することはできません。パーティションテーブルに指定されたライフサイクルは、そのすべてのパーティションに適用されます。
-
テーブル作成時にライフサイクルを指定できます。ライフサイクルを指定しない場合、MaxCompute はライフサイクルルールに基づいてパーティションを自動的に回収しません。
-
ライフサイクル内に変更されなかったパーティションは、個別に回収されます。
-
非パーティションテーブルとは異なり、最後のパーティションが回収されてもテーブルは削除されません。
-
テーブルを削除すると、ライフサイクルを含むすべてのプロパティ情報が削除されます。同じ名前で新しいテーブルを作成すると、テーブルのライフサイクルは新しく設定されたプロパティに従います。
-
監査とモニタリング
-
実行者:
Alibaba Cloud サービスアカウント
maxcompute.aliyuncs.comが、ライフサイクルデータの回収操作を実行します。 -
操作記録:
ActionTrail サービスから関連する操作記録を取得できます。詳細については、「イベントクエリのクイックスタート」をご参照ください。たとえば、「テーブル
bettergithubanalytics.test_lifecycleは、そのライフサイクルに基づいて MaxCompute によって自動的に回収されました」などの記録が表示されることがあります。非パーティションテーブルの自動回収
テーブル
bettergithubanalytics.test_lifecycleは、そのライフサイクルに基づいて MaxCompute によって自動的に回収されます。以下のレコードを確認できます。

パーティションテーブルのパーティションの自動回収
テーブル
sale_date=2013/region=chinaのパーティションbettergithubanalytics.sale_detailは、ライフサイクルに基づいて MaxCompute によって自動的に回収されます。 以下のレコードを確認できます。

参考資料
-
テーブルのライフサイクルの指定や変更、テーブル作成時のテーブルの
LastModifiedTimeの変更などの操作については、「テーブル操作」をご参照ください。 -
既存または新規テーブルのライフサイクルの設定、無効化、復元など、その他のライフサイクル操作については、「ライフサイクル操作」をご参照ください。
-
また、DataWorks の Data Map 機能を使用して、テーブルパーティションの回収操作の記録を表示することもできます。 詳細については、「Data Map の概要」をご参照ください。 表示される操作アカウントは、Alibaba Cloud サービス
maxcompute.aliyuncs.comである MaxCompute システムアカウントodps_user@aliyun.comです。