生存時間 (TTL) は、データ保持期間を指定する多次元インデックスの属性です。Tablestore は、保持期間を超えたデータを自動的に削除し、ストレージ使用量を削減し、ストレージコストを低減します。
注意事項
ライフサイクル管理機能を使用するには、データテーブルに対する UpdateRow 書き込み操作を無効にする必要があります。
-
この要件により、データテーブルと多次元インデックス間のデータの不整合を防ぎます。
データテーブルの TTL は属性列ごとに適用されますが、多次元インデックスの TTL は行全体に適用されます。UpdateRow 操作を使用すると、Tablestore はデータテーブルから一部の列を削除する可能性がありますが、対応する行は多次元インデックスに残るため、同期が取れなくなる原因となります。
データを更新する必要がある場合は、代わりに PutRow 操作を使用して行全体を上書きしてください。
-
多次元インデックスの TTL は秒単位で指定し、-1 または正の 32 ビット整数を設定できます。値 -1 は、データが永続的に保存されることを意味します。最大値は約 68 年です。
-
多次元インデックスの TTL は、データテーブルの TTL とは独立しています。多次元インデックスの TTL 値は、データテーブルの TTL 値以下である必要があります。両方の TTL を短くする場合は、まず多次元インデックスの TTL を短くし、次にデータテーブルの TTL を短くしてください。
-
Tablestore は、期限切れのデータを多次元インデックスから毎日自動的にクリーンアップします。このクリーンアッププロセスで削除されるまで、期限切れのデータをクエリすることは可能です。
-
データテーブルと多次元インデックスの TTL を更新した後、Tablestore は次回のクリーンアップサイクルで、新たに期限切れとなったデータを削除します。
操作手順
コンソールまたは SDK を使用して、多次元インデックスの生存時間 (TTL) を設定できます。この機能を使用するには、データテーブルでの UpdateRow 操作を無効にしておく必要があります。