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

Tablestore:時系列テーブルの作成

最終更新日:Aug 04, 2026

Tablestore SDK for Java を使用して、時系列テーブルを作成し、データとメタデータの Time-to-Live (TTL)、時系列識別子、データフィールドのプライマリキー、分析ストア、および Lastpoint インデックスを設定します。

前提条件

Tablestore SDK for Java をインストールし、時系列クライアントを初期化します。

説明

createTimeseriesTable を呼び出して、時系列データとメタデータを格納する時系列テーブルを作成します。 時系列テーブル名は、インスタンス内のデータテーブルおよび時系列テーブルにおいて一意である必要があります。

public CreateTimeseriesTableResponse createTimeseriesTable(CreateTimeseriesTableRequest request)

次の例では、example_timeseries_table を作成します。 デフォルトでは、時系列データの TTL は -1 で、データが期限切れにならないことを意味し、分析ストアは作成されません。

TimeseriesClient timeseriesClient = client.asTimeseriesClient();

String tableName = "example_timeseries_table";
TimeseriesTableMeta tableMeta = new TimeseriesTableMeta(tableName);
CreateTimeseriesTableRequest request = new CreateTimeseriesTableRequest(tableMeta);

timeseriesClient.createTimeseriesTable(request);

パラメーター

CreateTimeseriesTableRequest には、次のパラメーターが含まれています。

名前

タイプ

説明

timeseriesTableMeta (必須)

TimeseriesTableMeta

時系列テーブルのスキーマ。

analyticalStores (オプション)

List<TimeseriesAnalyticalStore>

カスタム分析ストア。 デフォルト値:空のリスト。 時系列テーブルの作成時に、分析ストアは最大 1 つ作成できます。

enableAnalyticalStore (オプション)

boolean

デフォルトの分析ストアを作成するかどうかを指定します。 デフォルト値:false。 analyticalStores が設定されておらず、このパラメーターが true に設定されている場合、default_analytical_store という名前の分析ストアが作成されます。 そのデフォルトの TTL は -1 で、同期モードは SYNC_TYPE_FULL です。 analyticalStores が設定されている場合、カスタム分析ストアが作成されます。

lastpointIndexes (オプション)

List<CreateTimeseriesTableRequest.LastpointIndex>

時系列テーブルとともに作成する Lastpoint インデックス。 デフォルト値:空のリスト。 時系列テーブルの作成時に、Lastpoint インデックスは最大 1 つ作成できます。 1 つの時系列テーブルには、合計で最大 10 個の Lastpoint インデックスと分析ストアを含めることができます。

時系列テーブルのスキーマ

timeseriesTableMeta は TimeseriesTableMeta 型で、次のパラメーターが含まれています。

名前

タイプ

説明

timeseriesTableName (必須)

String

時系列テーブル名。 インスタンス内のデータテーブルおよび時系列テーブルにおいて一意である必要があります。

timeseriesTableOptions (オプション)

TimeseriesTableOptions

時系列データの TTL 設定。 このパラメーターが設定されていない場合は、デフォルト設定が使用されます。

timeseriesMetaOptions (オプション)

TimeseriesMetaOptions

メタデータの TTL や属性の更新設定などを含む、時系列メタデータの設定。

timeseriesKeys (オプション)

List<String>

カスタム時系列識別子を構成するフィールド。 最大 6 つのフィールドを指定できます。 デフォルトでは、時系列識別子はメトリクス名、データソース、およびタグで構成されます。 詳細については、「時系列識別子とデータフィールドプライマリキーのカスタマイズ」をご参照ください。

fieldPrimaryKeys (オプション)

List<PrimaryKeySchema>

プライマリキーとして使用するデータフィールド。 最大 4 つのフィールドを指定して、同じ時系列識別子とタイムスタンプを持つ複数の行を格納できます。 詳細については、「時系列識別子とデータフィールドプライマリキーのカスタマイズ」をご参照ください。

時系列データの保持

timeseriesTableMeta.timeseriesTableOptions は TimeseriesTableOptions 型で、次のパラメーターが含まれます。

名前

タイプ

説明

timeToLive (オプション)

int

時系列データの TTL (秒単位)。 デフォルト値:-1。 値を -1 または 86,400 以上の整数に設定します。 値 -1 は、データが期限切れにならないことを意味します。 Tablestore は、期限切れのデータを自動的に削除します。 テーブルの作成後、時系列テーブルの設定を更新して TTL を変更できます。

時系列メタデータ

timeseriesTableMeta.timeseriesMetaOptions は TimeseriesMetaOptions 型で、次のパラメーターが含まれています。

名前

タイプ

説明

metaTimeToLive (オプション)

int

時系列メタデータの TTL (秒単位)。 値を -1 または 604,800 以上の整数に設定します。 値 -1 は、メタデータが期限切れにならないことを意味します。 この値は timeToLive より小さくすることはできません。 timeToLive が -1 の場合、このパラメーターも -1 にする必要があります。 有限の TTL を設定する場合は、allowUpdateAttributes を false に設定する必要があります。

allowUpdateAttributes (オプション)

boolean

メタデータ属性列を更新できるかどうかを指定します。 metaTimeToLive が有限の場合、このパラメーターは false に設定する必要があります。

データフィールドのプライマリキー

timeseriesTableMeta.fieldPrimaryKeys[] 内の各要素は PrimaryKeySchema 型で、次のパラメーターが含まれています。

名前

タイプ

説明

name (必須)

String

プライマリキーとして使用するデータフィールド名。

type (必須)

PrimaryKeyType

データフィールドのタイプ。 有効な値:INTEGER および STRING。

分析ストア

analyticalStores[] 内の各要素は TimeseriesAnalyticalStore 型で、次のパラメーターが含まれています。

名前

タイプ

説明

analyticalStoreName (必須)

String

分析ストア名。

timeToLive (オプション)

int

分析ストアの TTL (秒単位)。 デフォルト値:-1。 値を -1 または 2,592,000 以上の int32 型の整数に設定します。 値 -1 は、データが期限切れにならないことを意味します。

syncOption (オプション)

AnalyticalStoreSyncType

データ同期モード。 デフォルト値:SYNC_TYPE_FULL。 時系列テーブルの作成時にサポートされるのは、完全同期を指定する SYNC_TYPE_FULL のみです。

Lastpoint インデックス

lastpointIndexes[] 内の各要素は CreateTimeseriesTableRequest.LastpointIndex 型で、次のパラメーターが含まれます。

名前

タイプ

説明

indexName (必須)

String

Lastpoint インデックス名。 詳細については、「Lastpoint インデックス」をご参照ください。

例

メタデータ TTL の設定

次の例では、時系列データの TTL を 7 日間、メタデータの TTL を 14 日間に設定し、メタデータ属性の更新を無効にします。

String tableName = "example_timeseries_table";
TimeseriesTableOptions tableOptions = new TimeseriesTableOptions(604800);
TimeseriesTableMeta tableMeta = new TimeseriesTableMeta(tableName, tableOptions);

TimeseriesMetaOptions metaOptions = new TimeseriesMetaOptions();
metaOptions.setMetaTimeToLive(1209600);
metaOptions.setAllowUpdateAttributes(false);
tableMeta.setTimeseriesMetaOptions(metaOptions);

CreateTimeseriesTableRequest request = new CreateTimeseriesTableRequest(tableMeta);
timeseriesClient.createTimeseriesTable(request);

時系列識別子とデータフィールドプライマリキーのカスタマイズ

重要

カスタム時系列識別子とデータフィールドプライマリキーには、Tablestore SDK for Java 5.17.1 以降が必要です。 最新バージョンの SDK を使用することを推奨します。 これらの機能を使用する前に、インスタンスのリージョンがそれらをサポートしていることを確認してください。

次の例では、時系列識別子として pk1 と pk2 を、データフィールドプライマリキーとして field1 と field2 を使用します。

String tableName = "example_timeseries_table";
TimeseriesTableMeta tableMeta = new TimeseriesTableMeta(tableName);
tableMeta.addTimeseriesKey("pk1");
tableMeta.addTimeseriesKey("pk2");
tableMeta.addFieldPrimaryKey("field1", PrimaryKeyType.INTEGER);
tableMeta.addFieldPrimaryKey("field2", PrimaryKeyType.STRING);

CreateTimeseriesTableRequest request = new CreateTimeseriesTableRequest(tableMeta);
timeseriesClient.createTimeseriesTable(request);

Lastpoint インデックスの作成

重要

Lastpoint インデックスには、Tablestore SDK for Java 5.17.1 以降が必要です。 最新バージョンの SDK を使用することを推奨します。 この機能を使用するには、サポートされているリージョンに時系列モデルインスタンスを作成する必要があります。 サポートされているリージョンについては、「Lastpoint インデックス」をご参照ください。

次の例では、example_lastpoint_index を時系列テーブルとともに作成します。

String tableName = "example_timeseries_table";
TimeseriesTableMeta tableMeta = new TimeseriesTableMeta(tableName);
CreateTimeseriesTableRequest request = new CreateTimeseriesTableRequest(tableMeta);
request.addLastpointIndex(
        new CreateTimeseriesTableRequest.LastpointIndex("example_lastpoint_index"));

timeseriesClient.createTimeseriesTable(request);

分析ストアの作成

分析ストアは、時系列データに対してコスト効率の高いストレージと分析を提供します。 この機能を使用するには、サポートされているリージョンに時系列モデルインスタンスを作成する必要があります。 サポートされているリージョンと機能の詳細については、「分析ストア」をご参照ください。

デフォルトの分析ストア

enableAnalyticalStore を true に設定して、default_analytical_store という名前のデフォルトの分析ストアを作成します。

String tableName = "example_timeseries_table";
TimeseriesTableMeta tableMeta = new TimeseriesTableMeta(tableName);
CreateTimeseriesTableRequest request = new CreateTimeseriesTableRequest(tableMeta);
request.setEnableAnalyticalStore(true);

timeseriesClient.createTimeseriesTable(request);

カスタム分析ストア

次の例では、example_analytical_store を時系列テーブルとともに作成します。 分析ストア内のデータは期限切れにならず、完全同期が使用されます。

String tableName = "example_timeseries_table";
TimeseriesTableMeta tableMeta = new TimeseriesTableMeta(tableName);
CreateTimeseriesTableRequest request = new CreateTimeseriesTableRequest(tableMeta);

TimeseriesAnalyticalStore analyticalStore =
        new TimeseriesAnalyticalStore("example_analytical_store");
analyticalStore.setTimeToLive(-1);
analyticalStore.setSyncOption(AnalyticalStoreSyncType.SYNC_TYPE_FULL);
request.setAnalyticalStores(Collections.singletonList(analyticalStore));

timeseriesClient.createTimeseriesTable(request);

関連ドキュメント