すべてのプロダクト
Search
ドキュメントセンター

Tablestore:時系列データのライフサイクル

最終更新日:May 07, 2026

時系列テーブル内の既存データを自動的にクリーンアップするには、データライフサイクル (TTL) 機能を使用できます。これにより、時系列データを効率的に管理し、ストレージ使用量とストレージコストを削減できます。TTL を設定した後は、データ保持期間を延長したい場合にその値を変更できます。

注意事項

  • 削除されたデータは復元できません。慎重に操作してください。

    TTL を設定して既存データをクリーンアップする前に、必要に応じてデータをバックアップしてください。DataWorks の Data Integration サービスを使用して、時系列データを OSS にエクスポートできます。詳細については、「OSS へのデータ同期」をご参照ください。

  • TTL を変更する前に、DescribeTimeseriesTable 操作を呼び出して、現在のデータライフサイクル設定を確認できます。

データライフサイクル

時系列モデルでは、データは時系列メタデータと時系列データで構成され、それぞれ時系列メタデータテーブルおよび時系列データテーブルに格納されます。Tablestore は、時系列メタデータと時系列データに対して個別のデータライフサイクルを提供します。

時系列テーブルデータのライフサイクル

時系列テーブルのデータライフサイクルは、時系列データテーブルの属性です。これは、秒単位でデータ保持期間を指定します。時系列データの経過時間が設定された TTL を超えると、システムは期限切れのデータを自動かつ非同期に削除します。

たとえば、テーブルの TTL が 86400(1 日)に設定されている場合、2016-07-21 00:00:00 UTC + 08:00 時点で、2016-07-20 00:00:00 UTC + 08:00 より前のすべての時系列データが期限切れとなります。その後、システムは期限切れのデータを自動かつ非同期に削除します。

時系列テーブルを作成する際に TTL を設定しない場合、システムはデフォルト値 -1 を使用します。これはデータが期限切れにならないことを意味します。カスタム TTL を定義することも可能です。テーブル作成後は、UpdateTimeseriesTable 操作を呼び出して TTL を変更できます。

期限切れのデータは無効と見なされ、システムがまだ物理的に削除していない場合でもクエリできません。

  • TTL を短縮すると、時系列テーブル内の一部のデータが即座に期限切れとなる可能性があります。システムはこの期限切れのデータを非同期に削除します。

  • TTL を延長すると、古い TTL では期限切れとなっていたものの新しい TTL の保持期間内にあるデータが、システムがまだ削除していない限り再度クエリ可能になる場合があります。

時系列メタデータのライフサイクル

時系列メタデータのデータライフサイクルは、時系列メタデータテーブルの属性です。これは、秒単位でメタデータの保存期間を指定します。時系列メタデータの経過時間が設定された TTL を超えると、システムは期限切れのメタデータを自動かつ非同期に削除します。このプロセスでは、対応する時系列データは削除されません。

重要

時系列メタデータが期限切れになっても対応する時系列データがまだ有効である場合は、GetTimeseriesData API 呼び出しで時系列識別子を指定することで、引き続き時系列データをクエリできます。

時系列テーブルを作成する際にメタデータの TTL を設定しない場合、システムはデフォルト値 -1 を使用します。これはメタデータが期限切れにならないことを意味します。カスタム TTL を定義することも可能です。テーブル作成後は、UpdateTimeseriesTable 操作を呼び出して TTL を変更できます。

重要

時系列メタデータには、_attributes という名前の更新可能な属性列が含まれます。ただし、この属性は、時系列メタデータのデータライフサイクルが -1(メタデータが期限切れにならない)に設定されている場合にのみ更新できます。

時系列メタデータのデータライフサイクルを -1 から 7 日以上の値に変更する場合は、ビジネスロジックで時系列メタデータ属性の更新が不要であることを確認してください。また、タイムラインメタデータのプロパティ更新を許可するかどうかいいえ に設定する必要があります。

タイムラインメタデータのプロパティ更新を許可するかどうかはい に設定するには、タイムラインメタデータのライフサイクル-1 に設定する必要があります。

期限切れのメタデータは無効と見なされ、システムがまだ物理的に削除していない場合でも検索できません。

  • TTL を短縮すると、時系列メタデータテーブル内の一部のメタデータが即座に期限切れとなる可能性があります。システムはこの期限切れのメタデータを非同期に削除します。

  • TTL を延長すると、古い TTL では期限切れとなっていたものの新しい TTL の保持期間内にあるメタデータが、システムがまだ削除していない限り再度検索可能になる場合があります。

方法

時系列テーブルを作成する際にデータライフサイクルを設定するか、テーブル作成後に変更できます。本セクションでは、コンソール、CLI、または SDK を使用して既存のテーブルのデータライフサイクルを変更する方法を説明します。

説明
  • テーブル作成時にデータライフサイクルを設定する方法については、「時系列テーブルの管理」をご参照ください。

  • 使用する方法によってサポートされる機能が異なる場合があります。

コンソール

コンソールを使用して、時系列データまたは時系列メタデータのデータライフサイクルを変更できます。

データライフサイクル

  1. インスタンスの管理 ページに移動します。

    1. Tablestore コンソール にログインします。

    2. 上部ナビゲーションバーで、リソースグループとリージョンを選択します。

    3. 概要 ページで、インスタンス名をクリックするか、該当インスタンスの 操作 列の インスタンスの管理 をクリックします。

  2. インスタンスの詳細 タブで、時系列テーブル タブをクリックします。

  3. 時系列テーブル タブで、時系列テーブルの名前をクリックします。

  4. 基本情報]タブの[説明]セクションで、[データのライフサイクル]の横にある image.png アイコンをクリックします。

  5. 表示されるダイアログボックスで、データライフサイクルの値を変更します。

    TTL は秒単位のデータ保持期間です。86400(1 日)以上の整数値、または -1 を設定します。-1 はデータが期限切れにならないことを意味します。

  6. OK をクリックします。

メタデータライフサイクル

  1. インスタンスの管理 ページに移動します。

    1. Tablestore コンソール にログインします。

    2. 上部ナビゲーションバーで、リソースグループとリージョンを選択します。

    3. 概要 ページで、インスタンス名をクリックするか、該当インスタンスの 操作 列の インスタンスの管理 をクリックします。

  2. インスタンスの詳細 タブで、時系列テーブル タブをクリックします。

  3. 時系列テーブル タブで、時系列テーブルの名前をクリックします。

  4. 基本情報]タブの[説明]セクションで、[タイムラインメタデータのライフサイクル]の横にある image.png アイコンをクリックします。

  5. 表示されるダイアログボックスで、データライフサイクルの値を変更します。

    TTL は秒単位のメタデータ保存期間です。604800(7 日)以上の整数値、または -1 を設定します。-1 はメタデータが期限切れにならないことを意味します。

  6. OK をクリックします。

CLI

CLI を使用して、時系列テーブルのデータライフサイクルを変更できます。

alter コマンドを実行してテーブル情報を更新します。詳細については、「テーブルの更新」をご参照ください。

次の例は、現在のテーブルのデータライフサイクルを 86,400 秒(1 日)に変更する方法を示しています。

alter --ttl 86400 --ts

SDK

SDK を使用して、時系列データまたは時系列メタデータのデータライフサイクルを変更できます。

データライフサイクル

次のサンプルコードは、時系列テーブルのデータの TTL を 3 年に変更する方法の例を示しています。

private static void updateTimeseriesTable(TimeseriesClient client) {
    // 時系列テーブルの名前を指定します。
    String tableName = "<TIMESERIES_TABLE>";
    UpdateTimeseriesTableRequest updateTimeseriesTableRequest = new UpdateTimeseriesTableRequest(tableName);
    // TTL を 3 年に変更します。
    updateTimeseriesTableRequest.setTimeseriesTableOptions(new TimeseriesTableOptions(86400 * 365 * 3)); 
    client.updateTimeseriesTable(updateTimeseriesTableRequest);

    DescribeTimeseriesTableResponse describeTimeseriesTableResponse = client.describeTimeseriesTable(new DescribeTimeseriesTableRequest(tableName));
    TimeseriesTableMeta tableMeta = describeTimeseriesTableResponse.getTimeseriesTableMeta();
    // 変更済みの TTL を表示します。
    System.out.println(tableMeta.getTimeseriesTableOptions().getTimeToLive()); 
}

メタデータライフサイクル

次の例は、指定されたテーブルの時系列メタデータの TTL を 3 年に更新する方法を示しています。

private static void updateTimeseriesMetaTableTTL(TimeseriesClient client) {
    // 時系列テーブルの名前を指定します。
    String tableName = "<TIMESERIES_TABLE>";
    UpdateTimeseriesTableRequest updateTimeseriesTableRequest = new UpdateTimeseriesTableRequest(tableName);
    // TTL を 3 年に更新します。
    TimeseriesMetaOptions options = new TimeseriesMetaOptions();
    options.setMetaTimeToLive(86400 * 365 * 3);
    updateTimeseriesTableRequest.setTimeseriesMetaOptions(options);
    client.updateTimeseriesTable(updateTimeseriesTableRequest);
}

よくある質問

時系列データを削除するにはどうすればよいですか?

関連ドキュメント

分析ストア は、時系列シナリオ向けに最適化された低コストのストレージエンジンです。分析ストアを使用して、時系列データをコスト効率よく保存し、高速なクエリと分析を実行できます。