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 によって自動的に再利用(削除)されました。以下の記録が確認できます。

パーティションテーブルのパーティションの自動再利用(削除)
テーブル
bettergithubanalytics.sale_detailのパーティションsale_date=2013/region=chinaがライフサイクルに基づき MaxCompute によって自動的に再利用(削除)されました。以下の記録が確認できます。

参照
テーブルライフサイクルの指定・変更、およびテーブル作成時の
LastModifiedTimeの変更などの操作については、「テーブル操作」をご参照ください。既存または新規テーブルに対するライフサイクルの設定、無効化、復元など、その他のライフサイクル操作については、「ライフサイクル操作」をご参照ください。
DataWorks のデータマップ機能を用いて、テーブルパーティションの再利用(削除)操作記録を確認することもできます。詳細については、「データマップの概要」をご参照ください。表示されるオペレーター アカウントは MaxCompute システムアカウント
odps_user@aliyun.comであり、これは Alibaba Cloud サービスmaxcompute.aliyuncs.comに対応しています。