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

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

最終更新日:Aug 14, 2026

CreateTimeseriesTable API を呼び出して、時系列テーブルを作成できます。時系列テーブルを作成する際、時系列テーブル内のデータの Time to Live (TTL)、時系列メタデータの設定情報、カスタム時系列識別子、および時系列テーブルのプライマリキー列にカスタムデータフィールドを指定できます。また、Lastpoint インデックスと分析ストアを作成することもできます。分析ストアは、時系列データを迅速に分析するために使用できます。Lastpoint インデックスは、時系列テーブル内の時系列における最新時点のデータを迅速に取得するために使用できます。

前提条件

  • 時系列モデル用のインスタンスが作成されていること。詳細については、「時系列モデル用インスタンスの作成」をご参照ください。

    重要

    分析ストアまたは Lastpoint インデックス機能を使用するには、分析ストアまたは Lastpoint インデックス機能をサポートするリージョンで時系列モデル用のインスタンスを作成する必要があります。

  • クライアントが初期化されていること。詳細については、「Tablestore クライアントの初期化」をご参照ください。

注意事項

  • 作成する時系列テーブルの名前は、既存のデータテーブルの名前と同じにすることはできません。

    説明

    ListTimeseriesTable API を呼び出して、インスタンス内の時系列テーブルの名前を照会できます。詳細については、「時系列テーブルの一覧表示」をご参照ください。

  • 時系列テーブルに作成できる分析ストアは 1 つのみです。

  • 時系列テーブルに作成する Lastpoint インデックスと分析ストアの合計数は 10 を超えることはできません。

  • 時系列テーブルのプライマリキー列として指定できるデータフィールドは最大 4 つです。

  • 時系列テーブルのカスタム時系列識別子として、最大 6 つのフィールドを指定できます。

パラメータ

パラメータ

説明

TimeseriesTableMeta

NewTimeseriesTableMeta を呼び出して作成する時系列テーブルの設定。次の設定が含まれます。

  • TimeseriesTableName:時系列テーブルの名前。

  • TimeseriesMetaOptions:時系列メタデータの設定。次のパラメータが含まれます。

    • MetaTimeToLive:時系列メタデータの TTL。単位:秒。値は -1 または 604800 以上の値である必要があります。-1 の値は、メタデータが期限切れにならないことを示します。604800 の値は 7 日を示します。

    • AllowUpdateAttributes:時系列メタデータのプロパティ列を変更できるかどうかを指定します。

  • TimeseriesTableOptions: NewTimeseriesTableOptions を呼び出して作成する時系列テーブルの設定。次のパラメータが含まれます。

    TimeToLive:時系列テーブル内のデータの TTL。単位:秒。時系列テーブル内のデータを期限切れにしない場合は、このパラメータを -1 に設定します。UpdateTimeseriesTable API を呼び出して、このパラメータを変更できます。

  • AddTimeseriesKey を呼び出して追加するカスタム時系列識別子。デフォルトでは、時系列識別子はメトリック名、データソース、およびタグで構成されます。詳細については、「カスタム時系列識別子とカスタムデータフィールドをプライマリキー列として指定する」をご参照ください。このパラメータは、カスタム時系列識別子を指定する場合に必要です。

  • AddFieldPrimaryKey を呼び出して追加する、プライマリキー列として指定するデータフィールド。このパラメータを使用すると、同じ時系列識別子とタイムスタンプを持つ複数行の時系列データを時系列テーブルに保存できます。詳細については、「カスタム時系列識別子とカスタムデータフィールドをプライマリキー列として指定する」をご参照ください。このパラメータは、同じ時系列識別子とタイムスタンプを持つ複数行の時系列データを時系列テーブルに保存する場合にのみ必要となります。

EnableAnalyticalStore

SetEnableAnalyticalStore を呼び出して、デフォルトの分析ストアを作成するかどうかを設定します。デフォルト値: true (デフォルトの分析ストアが作成されることを意味します)。

分析ストアを作成すると、分析ストアを使用して、低コストで時系列データを保存し、時系列データを照会および分析できます。詳細については、「分析ストア」をご参照ください。

分析ストアを作成しない場合は、このパラメータを false に設定します。

AnalyticalStores

SetAnalyticalStores を呼び出して設定する分析ストアの設定。次の項目で構成されます。

  • AnalyticalStoreName:分析ストアの名前。

  • TimeToLive:分析ストアの TTL。単位:秒。TimeToLive は -1 または 2592000 以上の int32 型の正の整数に設定できます。-1 の値は、分析ストア内のデータが期限切れにならないことを示します。2592000 の値は 30 日を示します。

  • SyncOption:データ同期設定。この項目の値は SYNC_TYPE_FULL に固定されます。

LastpointIndexNames

SetLastpointIndexNames を呼び出して設定する、時系列テーブルと共に作成する Lastpoint インデックスの名前。時系列テーブルを作成する際に作成できる Lastpoint インデックスは最大 1 つです。詳細については、「Lastpoint インデックス」をご参照ください。

サンプル

分析ストアなしで時系列テーブルを作成する

次のサンプルコードは、時系列テーブルを作成する方法の例です。

/**
 * CreateTimeseriesTableSample は時系列テーブルを作成します。timeseriesTableName で時系列テーブルの名前を、timeTolive で時系列テーブルの TTL を指定します。
 */
func CreateTimeseriesTableSample(client *tablestore.TimeseriesClient, timeseriesTableName string , timeToLive int64) {
    fmt.Println("[Info]: Begin to create timeseries table: " , timeseriesTableName)

    // 時系列テーブルの設定情報を構築します。
    timeseriesTableOptions := tablestore.NewTimeseriesTableOptions(timeToLive) 

    // テーブルのメタデータ情報を構築します。
    // 時系列テーブルの名前を指定します。
    timeseriesTableMeta := tablestore.NewTimeseriesTableMeta(timeseriesTableName) 
    // 時系列テーブルの設定情報を指定します。
    timeseriesTableMeta.SetTimeseriesTableOptions(timeseriesTableOptions)    

    // 時系列テーブルを作成するリクエストを構築します。
    createTimeseriesTableRequest := tablestore.NewCreateTimeseriesTableRequest()   
    createTimeseriesTableRequest.SetTimeseriesTableMeta(timeseriesTableMeta)
    // デフォルトの分析ストアを作成しないことを指定します。
    createTimeseriesTableRequest.SetEnableAnalyticalStore(false)  

    // クライアントを呼び出して時系列テーブルを作成します。
    createTimeseriesTableResponse , err := client.CreateTimeseriesTable(createTimeseriesTableRequest) 
    if err != nil {
        fmt.Println("[Error]: Failed to create timeseries table with error: " , err)
        return
    }
    fmt.Println("[Info]: CreateTimeseriesTable finished! RequestId: " , createTimeseriesTableResponse.RequestId)
}

時系列テーブルと分析ストアを作成する

時系列テーブルを作成する際、デフォルトの分析ストアまたはカスタム分析ストアを作成できます。

時系列テーブルとデフォルトの分析ストアを作成する

次のサンプルコードは、時系列テーブルとデフォルトの分析ストアを同時に作成する方法の例です。この例では、デフォルトの分析ストアの名前は default_analytical_store に固定されており、デフォルトの分析ストア内のデータは期限切れになりません。

/**
 * CreateTimeseriesTableSample は時系列テーブルを作成します。timeseriesTableName で時系列テーブルの名前を、timeTolive で時系列テーブルの TTL を指定します。
 */
func CreateTimeseriesTableSample(client *tablestore.TimeseriesClient, timeseriesTableName string , timeToLive int64) {
    fmt.Println("[Info]: Begin to create timeseries table: " , timeseriesTableName)

    // 時系列テーブルの設定情報を構築します。
    timeseriesTableOptions := tablestore.NewTimeseriesTableOptions(timeToLive)        

    // テーブルのメタデータ情報を構築します。
    // 時系列テーブルの名前を指定します。
    timeseriesTableMeta := tablestore.NewTimeseriesTableMeta(timeseriesTableName)  
    // 時系列テーブルの設定情報を指定します。
    timeseriesTableMeta.SetTimeseriesTableOptions(timeseriesTableOptions)      

    // 時系列テーブルを作成するリクエストを構築します。
    createTimeseriesTableRequest := tablestore.NewCreateTimeseriesTableRequest()    
    createTimeseriesTableRequest.SetTimeseriesTableMeta(timeseriesTableMeta)

    // クライアントを呼び出して時系列テーブルを作成します。
    createTimeseriesTableResponse , err := client.CreateTimeseriesTable(createTimeseriesTableRequest)    
    if err != nil {
        fmt.Println("[Error]: Failed to create timeseries table with error: " , err)
        return
    }
    fmt.Println("[Info]: CreateTimeseriesTable finished! RequestId: " , createTimeseriesTableResponse.RequestId)
}

時系列テーブルとカスタム分析ストアを作成する

次のサンプルコードは、時系列テーブルとカスタム分析ストアを同時に作成する方法の例です。この例では、カスタム分析ストアの名前は test_analytical_store であり、カスタム分析ストア内のデータは期限切れになりません。

/**
 * CreateTimeseriesTableSample は時系列テーブルを作成します。timeseriesTableName で時系列テーブルの名前を、timeTolive で時系列テーブルの TTL を指定します。この例では、`test_analytical_store` という名前の分析ストアを作成します。
 */
func CreateTimeseriesTableSample(client *tablestore.TimeseriesClient, timeseriesTableName string , timeToLive int64) {
    fmt.Println("[Info]: Begin to create timeseries table: " , timeseriesTableName)

    // 時系列テーブルの設定情報を構築します。
    timeseriesTableOptions := tablestore.NewTimeseriesTableOptions(timeToLive)    

    // テーブルのメタデータ情報を構築します。
    // 時系列テーブルの名前を指定します。
    timeseriesTableMeta := tablestore.NewTimeseriesTableMeta(timeseriesTableName)  
    // 時系列テーブルの設定情報を指定します。
    timeseriesTableMeta.SetTimeseriesTableOptions(timeseriesTableOptions)  

    // 時系列テーブルを作成するリクエストを構築します。
    createTimeseriesTableRequest := tablestore.NewCreateTimeseriesTableRequest() 
    createTimeseriesTableRequest.SetTimeseriesTableMeta(timeseriesTableMeta)

    // 分析ストアの設定情報を構築します。
    createTimeseriesTableRequest.SetAnalyticalStores([]*tablestore.TimeseriesAnalyticalStore{
        tablestore.NewTimeseriesAnalyticalStore("test_analytical_store"),
    })

    // クライアントを呼び出して時系列テーブルを作成します。
    createTimeseriesTableResponse , err := client.CreateTimeseriesTable(createTimeseriesTableRequest) 
    if err != nil {
        fmt.Println("[Error]: Failed to create timeseries table with error: " , err)
        return
    }
    fmt.Println("[Info]: CreateTimeseriesTable finished! RequestId: " , createTimeseriesTableResponse.RequestId)
}

カスタム時系列識別子とカスタムデータフィールドを時系列テーブルのプライマリキー列として指定する

重要

最新バージョンの Tablestore SDK for Go では、カスタム時系列識別子とカスタムデータフィールドを時系列テーブルのプライマリキー列として指定できます。カスタム時系列識別子とカスタムデータフィールドを時系列テーブルのプライマリキー列として指定する場合は、正しいバージョンの Tablestore SDK for Go を使用していることを確認してください。

次のサンプルコードは、時系列識別子が pk1 と pk2 で構成され、field1 (Integer)、field2 (String)、field3 (Binary) のデータフィールドがプライマリキー列として指定される時系列テーブルを作成する方法の例です。

/**
 * CreateTimeseriesTableSample は時系列テーブルを作成します。timeseriesTableName で時系列テーブルの名前を、timeTolive で時系列テーブルの TTL を指定します。
 */
func CreateTimeseriesTableSample(client *tablestore.TimeseriesClient, timeseriesTableName string, timeToLive int64) {
	fmt.Println("[Info]: Begin to create timeseries table: ", timeseriesTableName)

	timeseriesTableOptions := tablestore.NewTimeseriesTableOptions(timeToLive)
	timeseriesTableMeta := tablestore.NewTimeseriesTableMeta(timeseriesTableName)
	timeseriesTableMeta.SetTimeseriesTableOptions(timeseriesTableOptions)
	// カスタム時系列識別子を追加します。
	timeseriesTableMeta.AddTimeseriesKey("pk1")
	timeseriesTableMeta.AddTimeseriesKey("pk2")
	// プライマリキー列として指定するデータフィールドを追加します。
	timeseriesTableMeta.AddFieldPrimaryKey("field1", tablestore.PrimaryKeyType_INTEGER)
	timeseriesTableMeta.AddFieldPrimaryKey("field2", tablestore.PrimaryKeyType_STRING)
	timeseriesTableMeta.AddFieldPrimaryKey("field3", tablestore.PrimaryKeyType_BINARY)
	// 時系列テーブルを作成するリクエストを構築します。
	createTimeseriesTableRequest := tablestore.NewCreateTimeseriesTableRequest()
	createTimeseriesTableRequest.SetTimeseriesTableMeta(timeseriesTableMeta)

	createTimeseriesTableResponse, err := client.CreateTimeseriesTable(createTimeseriesTableRequest)
	if err != nil {
		fmt.Println("[Error]: Failed to create timeseries table with error: ", err)
		return
	}
	fmt.Println("[Info]: CreateTimeseriesTable finished! RequestId: ", createTimeseriesTableResponse.RequestId)
}

時系列テーブルと Lastpoint インデックスを作成する

重要

最新バージョンの Tablestore SDK for Go は Lastpoint インデックス機能をサポートしています。Lastpoint インデックス機能を使用する場合は、正しいバージョンの Tablestore SDK for Go を使用していることを確認してください。

次のサンプルコードは、時系列テーブルと、その時系列テーブルに対して index1 という名前の Lastpoint インデックスを同時に作成する方法の例です。

func createTimeseriesTable(client *tablestore.TimeseriesClient) {
	timeseriesTableMeta := tablestore.NewTimeseriesTableMeta("test_timeseries_table")
	timeseriesTableMeta.SetTimeseriesTableOptions(tablestore.NewTimeseriesTableOptions(-1))
	request := tablestore.NewCreateTimeseriesTableRequest()
	request.SetTimeseriesTableMeta(timeseriesTableMeta)
	request.SetLastpointIndexNames([]string{"index1"})
	_, err := client.CreateTimeseriesTable(request)
	if err != nil {
		log.Fatal(err)
	}
}

関連ドキュメント

  • 時系列テーブルを作成した後、テーブルに時系列データを書き込んだり、テーブルから時系列データを読み取ったりできます。詳細については、「時系列データの書き込み」および「時系列データの照会」をご参照ください。

  • 時系列データを低コストで保存し、時系列データを迅速に照会および分析する場合は、時系列テーブルの分析ストアを作成できます。詳細については、「分析ストアの作成」をご参照ください。

  • 時系列テーブル内のデータの TTL を変更できます。詳細については、「時系列テーブルの更新」をご参照ください。

  • 現在のインスタンスにあるすべての時系列テーブルを照会できます。詳細については、「時系列テーブルの名前の照会」をご参照ください。

  • 時系列テーブルの情報を照会できます。詳細については、「時系列テーブルの情報の照会」をご参照ください。

  • 不要になった時系列テーブルを削除できます。詳細については、「Go SDK を使用した時系列テーブルの削除」をご参照ください。

  • Tablestore 内の時系列データをコスト効率よくバックアップしたり、時系列データをファイルとしてローカルデバイスにエクスポートしたりするには、DataWorks の Data Integration 機能を使用して、Tablestore から Object Storage Service (OSS) に時系列データを同期して保存またはダウンロードできます。詳細については、「Tablestore から OSS へのデータの同期」をご参照ください。

  • 時系列データを可視化するには、Tablestore を Grafana に接続できます。詳細については、「Grafana への接続」をご参照ください。

  • Realtime Compute for Apache Flink を使用してデータを計算および分析する場合、Tablestore 時系列テーブルを使用して結果を保存できます。詳細については、「チュートリアル (時系列モデル)」をご参照ください。