全部产品
Search
文档中心

Tablestore:Buat tabel deret waktu

更新时间:Jul 06, 2025

Anda dapat memanggil operasi CreateTimeseriesTable untuk membuat tabel deret waktu. Saat membuat tabel deret waktu, Anda dapat menentukan masa hidup (TTL) data, informasi konfigurasi metadata deret waktu, pengenal deret waktu kustom, dan bidang data kustom sebagai kolom kunci utama tabel. Anda juga dapat membuat indeks Lastpoint dan penyimpanan analitik. Penyimpanan analitik digunakan untuk menganalisis data deret waktu secara cepat, sedangkan indeks Lastpoint digunakan untuk mengambil data titik terbaru di tabel deret waktu.

Prasyarat

  • Sebuah instance untuk model TimeSeries telah dibuat. Untuk informasi lebih lanjut, lihat Buat Instance untuk Model TimeSeries.

    Penting

    Untuk menggunakan fitur penyimpanan analitik atau indeks Lastpoint, Anda harus membuat instance untuk model TimeSeries di wilayah yang mendukung fitur tersebut.

  • Klien telah diinisialisasi. Untuk informasi lebih lanjut, lihat Inisialisasi Klien Tablestore.

Catatan Penggunaan

  • Nama tabel deret waktu yang Anda buat tidak boleh sama dengan nama tabel data yang sudah ada.

    Catatan

    Anda dapat memanggil operasi ListTimeseriesTable untuk menanyakan nama-nama tabel deret waktu dalam sebuah instance. Untuk informasi lebih lanjut, lihat Tanyakan Nama-Nama Tabel Deret Waktu.

  • Anda hanya dapat membuat satu penyimpanan analitik untuk tabel deret waktu.

  • Jumlah total indeks Lastpoint dan penyimpanan analitik yang Anda buat untuk tabel deret waktu tidak boleh melebihi 10.

  • Anda dapat menentukan hingga empat bidang data sebagai kolom kunci utama tabel deret waktu.

  • Anda dapat menentukan hingga enam bidang sebagai pengenal deret waktu kustom dari tabel deret waktu.

Parameter

Parameter

Deskripsi

TimeseriesTableMeta

Konfigurasi tabel deret waktu.

  • timeseriesTableName: nama tabel deret waktu.

  • timeseriesMetaOptions: konfigurasi metadata deret waktu. Parameter berikut termasuk:

    • metaTimeToLive: TTL metadata deret waktu. Unit: detik. Nilai harus -1 atau nilai yang lebih besar dari atau sama dengan 604800. Nilai -1 menentukan bahwa metadata tidak pernah kedaluwarsa. Nilai 604800 menentukan 7 hari.

    • allowUpdateAttributes: menentukan apakah kolom properti metadata deret waktu dapat dimodifikasi.

    Anda dapat memanggil operasi UpdateTimeseriesTable untuk memodifikasi parameter sebelumnya.

  • timeseriesTableOptions: konfigurasi tabel deret waktu. Parameter berikut termasuk:

    timeToLive: TTL data di tabel deret waktu. Unit: detik. Jika Anda tidak ingin data di tabel deret waktu kedaluwarsa, atur parameter ini ke -1. Anda dapat memanggil operasi UpdateTimeseriesTable untuk memodifikasi parameter ini.

  • timeseriesKeys: informasi pengenal deret waktu kustom. Secara default, pengenal deret waktu terdiri dari nama metrik, sumber data, dan tag. Untuk informasi lebih lanjut, lihat Tentukan pengenal deret waktu kustom dan bidang data kustom sebagai kolom kunci utama. Parameter ini diperlukan saat Anda menentukan pengenal deret waktu kustom.

  • fieldPrimaryKeys: bidang data yang ditentukan sebagai kolom kunci utama. Parameter ini memungkinkan Anda menyimpan beberapa baris data deret waktu dengan pengenal deret waktu dan timestamp yang sama dalam tabel deret waktu. Untuk informasi lebih lanjut, lihat Tentukan pengenal deret waktu kustom dan bidang data kustom sebagai kolom kunci utama. Parameter ini hanya diperlukan jika Anda ingin menyimpan beberapa baris data deret waktu dengan pengenal deret waktu dan timestamp yang sama dalam tabel deret waktu.

  • lastpointIndexes: nama indeks Lastpoint. Untuk informasi lebih lanjut, lihat Indeks Lastpoint.

enableAnalyticalStore

Menentukan apakah akan membuat penyimpanan analitik default. Nilai default: true, yang menentukan bahwa penyimpanan analitik default dibuat.

Setelah Anda membuat penyimpanan analitik, Anda dapat menggunakan penyimpanan analitik untuk menyimpan data deret waktu dengan biaya rendah dan menanyakan serta menganalisis data deret waktu. Untuk informasi lebih lanjut, lihat Penyimpanan analitik untuk deret waktu.

Jika Anda tidak ingin membuat penyimpanan analitik, atur parameter ini ke false.

analyticalStores

Konfigurasi penyimpanan analitik, yang terdiri dari item-item berikut:

  • analyticalStoreName: nama penyimpanan analitik.

  • timeToLive: TTL penyimpanan analitik. Unit: detik. Anda dapat mengatur timeToLive ke -1 atau bilangan bulat positif int32 yang lebih besar dari atau sama dengan 2592000. Nilai -1 menentukan bahwa data di penyimpanan analitik tidak pernah kedaluwarsa. Nilai 2592000 menentukan 30 hari.

  • syncOption: konfigurasi sinkronisasi data. Nilai item ini tetap pada SYNC_TYPE_FULL.

Contoh

Buat tabel deret waktu tanpa penyimpanan analitik

Kode sampel berikut memberikan contoh cara membuat tabel deret waktu:

/**
 * CreateTimeseriesTableSample digunakan untuk membuat tabel deret waktu. timeseriesTableName digunakan untuk menentukan nama tabel deret waktu dan timeTolive digunakan untuk menentukan TTL tabel deret waktu.
 */
func CreateTimeseriesTableSample(client *tablestore.TimeseriesClient, timeseriesTableName string , timeToLive int64) {
    fmt.Println("[Info]: Mulai membuat tabel deret waktu: " , timeseriesTableName)

    // Konstruksi informasi konfigurasi tabel deret waktu.
    timeseriesTableOptions := tablestore.NewTimeseriesTableOptions(timeToLive) 

    // Konstruksi informasi metadata tabel.
    // Tentukan nama tabel deret waktu.
    timeseriesTableMeta := tablestore.NewTimeseriesTableMeta(timeseriesTableName) 
    // Tentukan informasi konfigurasi tabel deret waktu.
    timeseriesTableMeta.SetTimeseriesTableOptions(timeseriesTableOptions)    

    // Konstruksi permintaan untuk membuat tabel deret waktu.
    createTimeseriesTableRequest := tablestore.NewCreateTimeseriesTableRequest()   
    createTimeseriesTableRequest.SetTimeseriesTableMeta(timeseriesTableMeta)
    // Tentukan bahwa penyimpanan analitik default tidak dibuat.
    createTimeseriesTableRequest.SetEnableAnalyticalStore(false)  

    // Panggil klien untuk membuat tabel deret waktu.
    createTimeseriesTableResponse , err := client.CreateTimeseriesTable(createTimeseriesTableRequest) 
    if err != nil {
        fmt.Println("[Error]: Gagal membuat tabel deret waktu dengan kesalahan: " , err)
        return
    }
    fmt.Println("[Info]: CreateTimeseriesTable selesai! RequestId: " , createTimeseriesTableResponse.RequestId)
}

Buat tabel deret waktu dan penyimpanan analitik

Saat membuat tabel deret waktu, Anda dapat membuat penyimpanan analitik default atau penyimpanan analitik kustom.

Buat tabel deret waktu dan penyimpanan analitik default

Kode sampel berikut memberikan contoh cara membuat tabel deret waktu dan penyimpanan analitik default secara bersamaan. Dalam contoh ini, nama penyimpanan analitik default adalah default_analytical_store dan data di penyimpanan analitik default tidak pernah kedaluwarsa.

/**
 * CreateTimeseriesTableSample digunakan untuk membuat tabel deret waktu. timeseriesTableName digunakan untuk menentukan nama tabel deret waktu dan timeTolive digunakan untuk menentukan TTL tabel deret waktu.
 */
func CreateTimeseriesTableSample(client *tablestore.TimeseriesClient, timeseriesTableName string , timeToLive int64) {
    fmt.Println("[Info]: Mulai membuat tabel deret waktu: " , timeseriesTableName)

    // Konstruksi informasi konfigurasi tabel deret waktu.
    timeseriesTableOptions := tablestore.NewTimeseriesTableOptions(timeToLive)        

    // Konstruksi informasi metadata tabel.
    // Tentukan nama tabel deret waktu.
    timeseriesTableMeta := tablestore.NewTimeseriesTableMeta(timeseriesTableName)  
    // Tentukan informasi konfigurasi tabel deret waktu.
    timeseriesTableMeta.SetTimeseriesTableOptions(timeseriesTableOptions)      

    // Konstruksi permintaan untuk membuat tabel deret waktu.
    createTimeseriesTableRequest := tablestore.NewCreateTimeseriesTableRequest()    
    createTimeseriesTableRequest.SetTimeseriesTableMeta(timeseriesTableMeta)

    // Panggil klien untuk membuat tabel deret waktu.
    createTimeseriesTableResponse , err := client.CreateTimeseriesTable(createTimeseriesTableRequest)    
    if err != nil {
        fmt.Println("[Error]: Gagal membuat tabel deret waktu dengan kesalahan: " , err)
        return
    }
    fmt.Println("[Info]: CreateTimeseriesTable selesai! RequestId: " , createTimeseriesTableResponse.RequestId)
}

Buat tabel deret waktu dan penyimpanan analitik kustom

Kode sampel berikut memberikan contoh cara membuat tabel deret waktu dan penyimpanan analitik kustom secara bersamaan. Dalam contoh ini, nama penyimpanan analitik kustom adalah test_analytical_store dan data di penyimpanan analitik kustom tidak pernah kedaluwarsa.

/**
 * CreateTimeseriesTableSample digunakan untuk membuat tabel deret waktu. timeseriesTableName digunakan untuk menentukan nama tabel deret waktu dan timeTolive digunakan untuk menentukan TTL tabel deret waktu. Dalam contoh ini, penyimpanan analitik bernama test_analytical_store dibuat.
 */
func CreateTimeseriesTableSample(client *tablestore.TimeseriesClient, timeseriesTableName string , timeToLive int64) {
    fmt.Println("[Info]: Mulai membuat tabel deret waktu: " , timeseriesTableName)

    // Konstruksi informasi konfigurasi tabel deret waktu.
    timeseriesTableOptions := tablestore.NewTimeseriesTableOptions(timeToLive)    

    // Konstruksi informasi metadata tabel.
    // Tentukan nama tabel deret waktu.
    timeseriesTableMeta := tablestore.NewTimeseriesTableMeta(timeseriesTableName)  
    // Tentukan informasi konfigurasi tabel deret waktu.
    timeseriesTableMeta.SetTimeseriesTableOptions(timeseriesTableOptions)  

    // Konstruksi permintaan untuk membuat tabel deret waktu.
    createTimeseriesTableRequest := tablestore.NewCreateTimeseriesTableRequest() 
    createTimeseriesTableRequest.SetTimeseriesTableMeta(timeseriesTableMeta)

    // Konstruksi informasi konfigurasi penyimpanan analitik.
    createTimeseriesTableRequest.SetAnalyticalStores([]*tablestore.TimeseriesAnalyticalStore{
        tablestore.NewTimeseriesAnalyticalStore("test_analytical_store"),
    })

    // Panggil klien untuk membuat tabel deret waktu.
    createTimeseriesTableResponse , err := client.CreateTimeseriesTable(createTimeseriesTableRequest) 
    if err != nil {
        fmt.Println("[Error]: Gagal membuat tabel deret waktu dengan kesalahan: " , err)
        return
    }
    fmt.Println("[Info]: CreateTimeseriesTable selesai! RequestId: " , createTimeseriesTableResponse.RequestId)
}

Tentukan pengenal deret waktu kustom dan bidang data kustom sebagai kolom kunci utama tabel deret waktu

Penting

Versi terbaru Tablestore SDK for Go memungkinkan Anda menentukan pengenal deret waktu kustom dan bidang data kustom sebagai kolom kunci utama tabel deret waktu. Pastikan Anda menggunakan versi yang benar dari Tablestore SDK for Go saat menentukan pengenal deret waktu kustom dan bidang data kustom sebagai kolom kunci utama tabel deret waktu.

Kode sampel berikut memberikan contoh cara membuat tabel deret waktu di mana pengenal deret waktu terdiri dari pk1 dan pk2 dan bidang data field1 (Integer), field2 (String), dan field3 (Binary) ditentukan sebagai kolom kunci utama:

/**
 * CreateTimeseriesTableSample digunakan untuk membuat tabel deret waktu. timeseriesTableName digunakan untuk menentukan nama tabel deret waktu dan timeTolive digunakan untuk menentukan TTL tabel deret waktu.
 */
func CreateTimeseriesTableSample(client *tablestore.TimeseriesClient, timeseriesTableName string, timeToLive int64) {
	fmt.Println("[Info]: Mulai membuat tabel deret waktu: ", timeseriesTableName)

	timeseriesTableOptions := tablestore.NewTimeseriesTableOptions(timeToLive)
	timeseriesTableMeta := tablestore.NewTimeseriesTableMeta(timeseriesTableName)
	timeseriesTableMeta.SetTimeseriesTableOptions(timeseriesTableOptions)
	// Tambahkan pengenal deret waktu kustom.
	timeseriesTableMeta.AddTimeseriesKey("pk1")
	timeseriesTableMeta.AddTimeseriesKey("pk2")
	// Tambahkan bidang data yang ditentukan sebagai kolom kunci utama tabel deret waktu.
	timeseriesTableMeta.AddFieldPrimaryKey("field1", tablestore.PrimaryKeyType_INTEGER)
	timeseriesTableMeta.AddFieldPrimaryKey("field1", tablestore.PrimaryKeyType_STRING)
	timeseriesTableMeta.AddFieldPrimaryKey("field3", tablestore.PrimaryKeyType_BINARY)
	// Konstruksi permintaan untuk membuat tabel deret waktu.
	createTimeseriesTableRequest := tablestore.NewCreateTimeseriesTableRequest()
	createTimeseriesTableRequest.SetTimeseriesTableMeta(timeseriesTableMeta)

	createTimeseriesTableResponse, err := client.CreateTimeseriesTable(createTimeseriesTableRequest)
	if err != nil {
		fmt.Println("[Error]: Gagal membuat tabel deret waktu dengan kesalahan: ", err)
		return
	}
	fmt.Println("[Info]: CreateTimeseriesTable selesai! RequestId: ", createTimeseriesTableResponse.RequestId)
}

Buat tabel deret waktu dan indeks Lastpoint

Penting

Versi terbaru Tablestore SDK for Go mendukung fitur indeks Lastpoint. Pastikan Anda menggunakan versi yang benar dari Tablestore SDK for Go saat menggunakan fitur indeks Lastpoint.

Kode sampel berikut memberikan contoh cara membuat tabel deret waktu dan indeks Lastpoint bernama index1 untuk tabel deret waktu secara bersamaan:

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)
	}
}

Referensi

  • Setelah membuat tabel deret waktu, Anda dapat menulis data deret waktu ke tabel dan membaca data deret waktu dari tabel. Untuk informasi lebih lanjut, lihat Tulis Data Deret Waktu dan Tanyakan Data Deret Waktu.

  • Jika Anda ingin menyimpan data deret waktu dengan biaya rendah dan menanyakan serta menganalisis data deret waktu secara cepat, Anda dapat membuat penyimpanan analitik untuk tabel deret waktu. Untuk informasi lebih lanjut, lihat Buat Penyimpanan Analitik.

  • Anda dapat memodifikasi TTL data di tabel deret waktu. Untuk informasi lebih lanjut, lihat Perbarui Tabel Deret Waktu.

  • Anda dapat menanyakan semua tabel deret waktu pada instance saat ini. Untuk informasi lebih lanjut, lihat Tanyakan Nama-Nama Tabel Deret Waktu.

  • Anda dapat menanyakan informasi tentang tabel deret waktu. Untuk informasi lebih lanjut, lihat Tanyakan Informasi Tabel Deret Waktu.

  • Anda dapat menghapus tabel deret waktu yang tidak lagi Anda butuhkan. Untuk informasi lebih lanjut, lihat Hapus Tabel Deret Waktu.

  • Untuk mencadangkan data deret waktu di Tablestore dengan cara yang hemat biaya atau mengekspor data deret waktu sebagai file ke perangkat lokal, Anda dapat menggunakan fitur Data Integration dari DataWorks untuk menyinkronkan data deret waktu dari Tablestore ke Object Storage Service (OSS) untuk penyimpanan atau unduhan. Untuk informasi lebih lanjut, lihat Sinkronkan Data dari Tablestore ke OSS.

  • Untuk memvisualisasikan data deret waktu, Anda dapat menghubungkan Tablestore ke Grafana. Untuk informasi lebih lanjut, lihat Hubungkan Tablestore ke Grafana.

  • Jika Anda menggunakan Realtime Compute for Apache Flink untuk menghitung dan menganalisis data, Anda dapat menggunakan tabel deret waktu Tablestore untuk menyimpan hasilnya. Untuk informasi lebih lanjut, lihat Tutorial (Model TimeSeries).