時系列テーブルの履歴データを自動的に削除する場合、Time to Live(TTL)を設定して時系列データを管理できます。これはストレージ容量を節約し、ストレージコストを削減するのに役立ちます。時系列データの TTL を設定した後、TTL を変更してデータ保持期間を延長できます。
使用上の注意
削除されたデータは復元できません。ご注意ください。
TTL を設定してデータを自動的に削除する前に履歴データをバックアップする必要がある場合は、DataWorks の Data Integration サービスを使用して時系列データをオブジェクトストレージサービス(OSS)にエクスポートできます。詳細については、概要 を参照してください。
TTL を変更する前に、DescribeTimeseriesTable オペレーションを呼び出して、時系列データの TTL を表示できます。
TTL
TimeSeries モデルでは、データは時系列メタデータと時系列テーブルのデータで構成されます。時系列メタデータは時系列メタデータテーブルに格納され、時系列テーブルのデータは時系列データテーブルに格納されます。Tablestore では、データの TTL を設定することで、時系列メタデータと時系列テーブルのデータを管理できます。
時系列テーブルのデータの TTL
時系列データテーブルの属性として、TTL は時系列テーブルのデータの保持期間を示します。データの TTL は秒単位で指定されます。時系列テーブルのデータが指定された TTL 値を超える期間保持されると、Tablestore は非同期モードでデータを自動的に削除します。
たとえば、時系列データテーブルのデータの TTL を 86400(1 日)に設定したとします。2016 年 7 月 21 日午前 0 時 0 分 0 秒(UTC+8)
に、2016 年 7 月 20 日午前 0 時 0 分 0 秒(UTC+8)
より前にテーブルに書き込まれたデータは期限切れになります。Tablestore は、期限切れのデータを非同期モードで自動的に削除します。
時系列テーブルの作成時に TTL 値を指定しない場合、デフォルト値 -1 が使用されます。これは、時系列テーブルのデータが期限切れにならないことを示します。カスタム TTL 値を指定することもできます。時系列テーブルを作成した後、UpdateTimeseriesTable オペレーションを呼び出して、データの TTL を変更できます。
データが TTL 値を超える期間保持されている場合、データは無効になり、Tablestore によってデータが削除されていない場合でも、データをクエリすることはできません。
TTL 値を小さくすると、時系列テーブルの一部のデータの保持期間が新しい TTL 値を超える場合があります。Tablestore は期限切れのデータを非同期的に削除します。
TTL 値を大きくすると、Tablestore がテーブル内のデータを削除せず、データが新しい TTL 値内の期間保持されている場合、時系列テーブル内のデータをクエリできます。
時系列メタデータの TTL
時系列メタデータテーブルの属性として、TTL は時系列メタデータの保持期間を示します。メタデータの TTL は秒単位で指定されます。時系列メタデータが指定された TTL 値を超える期間保持されると、Tablestore は非同期モードでメタデータを自動的に削除します。時系列テーブルのデータは削除されません。
時系列のメタデータが期限切れになり、時系列のデータが期限切れになっていない場合は、GetTimeseriesData オペレーションを呼び出して、時系列識別子を指定することで時系列テーブルのデータをクエリできます。
時系列テーブルの作成時に TTL 値を指定しない場合、デフォルト値 -1 が使用されます。これは、時系列テーブルのデータが期限切れにならないことを示します。カスタム TTL 値を指定することもできます。時系列テーブルを作成した後、UpdateTimeseriesTable オペレーションを呼び出して TTL を変更できます。
時系列メタデータの属性は _attributes 列に格納されます。TTL が -1 に設定されている時系列メタデータの属性を更新できます。値 -1 は、メタデータが期限切れにならないことを示します。
時系列メタデータの TTL を -1 から 604800(7 日)以上の値に変更する場合は、時系列メタデータの属性を更新する必要がないことを確認してください。さらに、時系列メタデータの属性を更新するかどうか を いいえ に設定する必要があります。
時系列メタデータの属性を更新するかどうか を はい に設定する場合は、時系列メタデータの TTL を -1 に設定する必要があります。
時系列メタデータが TTL 値を超える期間保持されている場合、メタデータは無効になり、Tablestore によってメタデータが削除されていない場合でも、メタデータをクエリすることはできません。
TTL 値を小さくすると、時系列メタデータテーブルの一部の時系列メタデータの保持期間が新しい TTL 値を超える場合があります。Tablestore は期限切れのメタデータを非同期的に削除します。
TTL 値を大きくすると、Tablestore がメタデータを削除せず、メタデータが新しい TTL 値内の期間保持されている場合、時系列メタデータをクエリできます。
方法
時系列テーブルを作成するときに、テーブル内のデータの TTL を設定できます。時系列テーブルを作成した後に TTL を変更することもできます。このトピックでは、時系列テーブルを作成した後に TTL を変更する方法の例を示します。Tablestore コンソール、CLI、または SDK を使用して TTL を変更できます。
データテーブルの作成時に TTL を設定する方法の詳細については、時系列テーブルの操作 を参照してください。
サポートされる機能は、TTL を変更するために使用するメソッドによって異なります。