CreateTimeseriesTable 操作を呼び出して、時系列テーブルを作成できます。時系列テーブルを作成する際に、時系列テーブルのデータの Time To Live(TTL)、時系列メタデータの構成情報、カスタム時系列識別子、およびカスタムデータフィールドを時系列テーブルのプライマリキー列として指定できます。また、Lastpoint インデックスと分析ストアを作成することもできます。分析ストアを使用すると、時系列データを迅速に分析できます。 Lastpoint インデックスを使用すると、時系列テーブルの時系列の最新時点のデータを迅速に取得できます。
前提条件
TimeSeries モデルのインスタンスが作成されていること。詳細については、「TimeSeries モデルのインスタンスを作成する」をご参照ください。
重要分析ストアまたは Lastpoint インデックス機能を使用するには、分析ストアまたは Lastpoint インデックス機能をサポートするリージョンに TimeSeries モデルのインスタンスを作成する必要があります。
クライアントが初期化されていること。詳細については、「Tablestore クライアントを初期化する」をご参照ください。
使用上の注意
作成する時系列テーブルの名前は、既存のデータテーブルの名前と同じにすることはできません。
説明ListTimeseriesTable 操作を呼び出して、インスタンス内の時系列テーブルの名前をクエリできます。詳細については、「時系列テーブルの名前をクエリする」をご参照ください。
1 つの時系列テーブルに対して作成できる分析ストアは 1 つだけです。
1 つの時系列テーブルに対して作成できる Lastpoint インデックスと分析ストアの合計数は 10 を超えることはできません。
時系列テーブルのプライマリキー列として指定できるデータフィールドは最大 4 つです。
時系列テーブルのカスタム時系列識別子のフィールドとして指定できるフィールドは最大 6 つです。
操作
public class CreateTimeseriesTableRequest implements Request {
// 時系列テーブルのスキーマ情報
private TimeseriesTableMeta timeseriesTableMeta;
// 分析ストア情報
private List<TimeseriesAnalyticalStore> analyticalStores = new ArrayList<TimeseriesAnalyticalStore>();
// 分析ストア機能を有効にするかどうか
private boolean enableAnalyticalStore = true;
}パラメーター
パラメーター | 説明 |
TimeseriesTableMeta | 時系列テーブルの構成。
|
enableAnalyticalStore | デフォルトの分析ストアを作成するかどうかを指定します。デフォルト値:true。デフォルトの分析ストアが作成されることを指定します。 分析ストアを作成した後、分析ストアを使用して時系列データを低コストで保存し、時系列データをクエリおよび分析できます。詳細については、「時系列の分析ストア」をご参照ください。 分析ストアを作成しない場合は、このパラメーターを false に設定します。 |
analyticalStores | 分析ストアの構成。以下の項目で構成されます。
|
例
分析ストアなしで時系列テーブルを作成する
次のサンプルコードは、データが期限切れにならない test_timeseries_table という名前の時系列テーブルを作成する方法の例を示しています。
private static void createTimeseriesTable(TimeseriesClient client) {
String tableName = "test_timeseries_table";
TimeseriesTableMeta timeseriesTableMeta = new TimeseriesTableMeta(tableName);
int timeToLive = -1;
timeseriesTableMeta.setTimeseriesTableOptions(new TimeseriesTableOptions(timeToLive));
CreateTimeseriesTableRequest request = new CreateTimeseriesTableRequest(timeseriesTableMeta);
// デフォルトの分析ストアが作成されないように指定します。
request.setEnableAnalyticalStore(false);
client.createTimeseriesTable(request);
}時系列テーブルと分析ストアを作成する
時系列テーブルを作成するときに、デフォルトの分析ストアまたはカスタム分析ストアを作成できます。
時系列テーブルとデフォルトの分析ストアを作成する
次のサンプルコードは、データが期限切れにならない test_timeseries_table という名前の時系列テーブルとデフォルトの分析ストアを同時に作成する方法の例を示しています。この例では、デフォルトの分析ストアの名前は default_analytical_store に固定されており、デフォルトの分析ストアのデータは期限切れになりません。
private static void createTimeseriesTable(TimeseriesClient client) {
String tableName = "test_timeseries_table";
TimeseriesTableMeta timeseriesTableMeta = new TimeseriesTableMeta(tableName);
int timeToLive = -1;
timeseriesTableMeta.setTimeseriesTableOptions(new TimeseriesTableOptions(timeToLive));
CreateTimeseriesTableRequest request = new CreateTimeseriesTableRequest(timeseriesTableMeta);
client.createTimeseriesTable(request);
}時系列テーブルとカスタム分析ストアを作成する
次のサンプルコードは、データが期限切れにならない test_timeseries_table という名前の時系列テーブルとカスタム分析ストアを同時に作成する方法の例を示しています。この例では、カスタム分析ストアの名前は test_analytical_store であり、カスタム分析ストアのデータは期限切れになりません。
private static void createTimeseriesTable(TimeseriesClient client) {
// 時系列テーブルの名前と TTL を指定します。
String tableName = "test_timeseries_table";
TimeseriesTableMeta timeseriesTableMeta = new TimeseriesTableMeta(tableName);
int timeToLive = -1;
timeseriesTableMeta.setTimeseriesTableOptions(new TimeseriesTableOptions(timeToLive));
CreateTimeseriesTableRequest request = new CreateTimeseriesTableRequest(timeseriesTableMeta);
// カスタム分析ストアの構成を指定します。
List<TimeseriesAnalyticalStore> analyticalStores = new ArrayList<TimeseriesAnalyticalStore>();
analyticalStores.add(new TimeseriesAnalyticalStore("test_analytical_store"));
request.setAnalyticalStores(analyticalStores);
client.createTimeseriesTable(request);
}カスタム時系列識別子とカスタムデータフィールドを時系列テーブルのプライマリキー列として指定する
Tablestore Java SDK V5.17.1 以降では、カスタム時系列識別子とカスタムデータフィールドを時系列テーブルのプライマリキー列として指定できます。カスタム時系列識別子とカスタムデータフィールドを時系列テーブルのプライマリキー列として指定する場合は、正しいバージョンの Tablestore Java SDK を使用していることを確認してください。詳細については、「Tablestore Java SDK のバージョン履歴」をご参照ください。
次のサンプルコードは、時系列識別子が pk1 と pk2 で構成され、field1(Integer)、field2(String)、および field3(Binary)データフィールドがプライマリキー列として指定されている時系列テーブルを作成する方法の例を示しています。
private static void createTimeseriesTable(TimeseriesClient client) {
String tableName = "test_timeseries_table";
TimeseriesTableMeta timeseriesTableMeta = new TimeseriesTableMeta(tableName);
timeseriesTableMeta.addTimeseriesKey("pk1");
timeseriesTableMeta.addTimeseriesKey("pk2");
timeseriesTableMeta.addFieldPrimaryKey("field1", PrimaryKeyType.INTEGER);
timeseriesTableMeta.addFieldPrimaryKey("field2", PrimaryKeyType.STRING);
timeseriesTableMeta.addFieldPrimaryKey("field3", PrimaryKeyType.BINARY);
int timeToLive = -1;
timeseriesTableMeta.setTimeseriesTableOptions(new TimeseriesTableOptions(timeToLive));
CreateTimeseriesTableRequest request = new CreateTimeseriesTableRequest(timeseriesTableMeta);
client.createTimeseriesTable(request);
}時系列テーブルと Lastpoint インデックスを作成する
Tablestore Java SDK V5.17.1 以降では、Lastpoint インデックス機能がサポートされています。 Lastpoint インデックス機能を使用する場合は、正しいバージョンの Tablestore Java SDK を使用していることを確認してください。詳細については、「Tablestore Java SDK のバージョン履歴」をご参照ください。
次のサンプルコードは、時系列テーブルと、時系列テーブルの index1 という名前の Lastpoint インデックスを同時に作成する方法の例を示しています。
private static void createTimeseriesTable(TimeseriesClient client) {
String tableName = "test_timeseries_table";
TimeseriesTableMeta timeseriesTableMeta = new TimeseriesTableMeta(tableName);
int timeToLive = -1;
timeseriesTableMeta.setTimeseriesTableOptions(new TimeseriesTableOptions(timeToLive));
CreateTimeseriesTableRequest request = new CreateTimeseriesTableRequest(timeseriesTableMeta);
request.addLastpointIndex(new CreateTimeseriesTableRequest.LastpointIndex("index1"));
client.createTimeseriesTable(request);
}関連情報
時系列テーブルを作成した後、テーブルに時系列データを書き込んだり、テーブルから時系列データを読み取ったりできます。詳細については、「時系列データを書き込む」および「時系列データをクエリする」をご参照ください。
時系列データを低コストで保存し、時系列データを迅速にクエリおよび分析する場合は、時系列テーブルの分析ストアを作成できます。詳細については、「分析ストアを作成する」をご参照ください。
時系列テーブルのデータの TTL を変更する方法については、「時系列テーブルの構成を変更する」をご参照ください。
インスタンス内のすべての時系列テーブルの名前をクエリする方法については、「時系列テーブルの名前をクエリする」をご参照ください。
時系列テーブルに関する情報をクエリする方法については、「時系列テーブルの情報をクエリする」をご参照ください。
不要になった時系列テーブルを削除する方法については、「時系列テーブルを削除する」をご参照ください。
Tablestore の時系列データを費用対効果の高い方法でバックアップしたり、時系列データをファイルとしてローカルデバイスにエクスポートしたりするには、DataWorks の Data Integration サービスを使用して、Tablestore から Object Storage Service(OSS)に時系列データを同期して保存またはダウンロードできます。詳細については、「Tablestore から OSS にデータを同期する」をご参照ください。
Tablestore を Grafana に接続して時系列データを視覚化する方法については、「Tablestore を Grafana に接続する」をご参照ください。
Realtime Compute for Apache Flink を使用してデータを計算および分析する場合は、Tablestore 時系列テーブルを使用して結果を保存できます。詳細については、「チュートリアル(TimeSeries モデル)」をご参照ください。