All Products
Search
Document Center

Tablestore:Buat tabel deret waktu

Last Updated:Aug 04, 2026

Buat tabel deret waktu dan konfigurasikan Waktu hidup (TTL) data serta metadata, pengenal deret waktu, kunci primer bidang data, analytical store, dan indeks Lastpoint dengan Tablestore SDK for Java.

Prasyarat

Instal Tablestore SDK for Java dan inisialisasi client deret waktu.

Deskripsi

Panggil createTimeseriesTable untuk membuat tabel deret waktu yang menyimpan data dan metadata deret waktu. Nama tabel deret waktu harus unik di antara tabel data dan tabel deret waktu dalam instans tersebut.

public CreateTimeseriesTableResponse createTimeseriesTable(CreateTimeseriesTableRequest request)

Contoh berikut membuat example_timeseries_table. Secara default, TTL data deret waktu adalah -1, yang berarti data tidak kedaluwarsa, dan analytical store tidak dibuat.

TimeseriesClient timeseriesClient = client.asTimeseriesClient();

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

timeseriesClient.createTimeseriesTable(request);

Parameter

CreateTimeseriesTableRequest berisi parameter berikut.

Name

Type

Description

timeseriesTableMeta (required)

TimeseriesTableMeta

Skema tabel deret waktu.

analyticalStores (optional)

List<TimeseriesAnalyticalStore>

Analytical store kustom. Nilai default: daftar kosong. Anda dapat membuat paling banyak satu analytical store saat membuat tabel deret waktu.

enableAnalyticalStore (optional)

boolean

Menentukan apakah akan membuat analytical store default. Nilai default: false. Jika analyticalStores tidak dikonfigurasi dan parameter ini diatur ke true, analytical store bernama default_analytical_store akan dibuat. TTL default-nya adalah -1, dan mode sinkronisasinya adalah SYNC_TYPE_FULL. Jika analyticalStores dikonfigurasi, analytical store kustom akan dibuat.

lastpointIndexes (optional)

List<CreateTimeseriesTableRequest.LastpointIndex>

Indeks Lastpoint yang akan dibuat bersamaan dengan tabel deret waktu. Nilai default: daftar kosong. Anda dapat membuat paling banyak satu indeks Lastpoint saat membuat tabel deret waktu. Total jumlah indeks Lastpoint dan analytical store dalam satu tabel deret waktu tidak boleh melebihi 10.

Skema tabel deret waktu

timeseriesTableMeta bertipe TimeseriesTableMeta dan berisi parameter berikut.

Name

Type

Description

timeseriesTableName (required)

String

Nama tabel deret waktu. Harus unik di antara tabel data dan tabel deret waktu dalam instans tersebut.

timeseriesTableOptions (optional)

TimeseriesTableOptions

Pengaturan TTL data deret waktu. Pengaturan default digunakan jika parameter ini tidak dikonfigurasi.

timeseriesMetaOptions (optional)

TimeseriesMetaOptions

Pengaturan metadata deret waktu, termasuk TTL metadata dan pengaturan pembaruan atribut.

timeseriesKeys (optional)

List<String>

Bidang-bidang yang membentuk pengenal deret waktu kustom. Anda dapat menentukan hingga enam bidang. Secara default, pengenal deret waktu terdiri dari nama metrik, sumber data, dan tag. Untuk informasi selengkapnya, lihat Kustomisasi pengenal deret waktu dan kunci primer bidang data.

fieldPrimaryKeys (optional)

List<PrimaryKeySchema>

Bidang data yang digunakan sebagai kunci primer. Anda dapat menentukan hingga empat bidang untuk menyimpan beberapa baris yang memiliki pengenal deret waktu dan timestamp yang sama. Untuk informasi selengkapnya, lihat Kustomisasi pengenal deret waktu dan kunci primer bidang data.

Retensi data deret waktu

timeseriesTableMeta.timeseriesTableOptions bertipe TimeseriesTableOptions dan berisi parameter berikut.

Name

Type

Description

timeToLive (optional)

int

TTL data deret waktu dalam detik. Nilai default: -1. Atur nilai ke -1 atau bilangan bulat minimal 86.400. Nilai -1 berarti data tidak kedaluwarsa. Tablestore secara otomatis menghapus data yang kedaluwarsa. Setelah tabel dibuat, Anda dapat memperbarui konfigurasi tabel deret waktu untuk mengubah TTL.

Metadata deret waktu

timeseriesTableMeta.timeseriesMetaOptions bertipe TimeseriesMetaOptions dan berisi parameter berikut.

Name

Type

Description

metaTimeToLive (optional)

int

TTL metadata deret waktu dalam detik. Atur nilai ke -1 atau bilangan bulat minimal 604.800. Nilai -1 berarti metadata tidak kedaluwarsa. Nilainya tidak boleh kurang dari timeToLive. Jika timeToLive adalah -1, parameter ini juga harus -1. Jika Anda mengonfigurasi TTL berhingga, atur allowUpdateAttributes ke false.

allowUpdateAttributes (optional)

boolean

Menentukan apakah kolom atribut metadata dapat diperbarui. Jika metaTimeToLive berhingga, parameter ini harus diatur ke false.

Kunci primer bidang data

Setiap elemen dalam timeseriesTableMeta.fieldPrimaryKeys[] bertipe PrimaryKeySchema dan berisi parameter berikut.

Name

Type

Description

name (required)

String

Nama bidang data yang digunakan sebagai kunci primer.

type (required)

PrimaryKeyType

Tipe bidang data. Nilai yang valid: INTEGER dan STRING.

Analytical store

Setiap elemen dalam analyticalStores[] bertipe TimeseriesAnalyticalStore dan berisi parameter berikut.

Name

Type

Description

analyticalStoreName (required)

String

Nama analytical store.

timeToLive (optional)

int

TTL analytical store dalam detik. Nilai default: -1. Atur nilai ke -1 atau bilangan bulat int32 minimal 2.592.000. Nilai -1 berarti data tidak kedaluwarsa.

syncOption (optional)

AnalyticalStoreSyncType

Mode sinkronisasi data. Nilai default: SYNC_TYPE_FULL. Saat membuat tabel deret waktu, hanya SYNC_TYPE_FULL, yang menunjukkan sinkronisasi penuh, yang didukung.

Indeks Lastpoint

Setiap elemen dalam lastpointIndexes[] bertipe CreateTimeseriesTableRequest.LastpointIndex dan berisi parameter berikut.

Name

Type

Description

indexName (required)

String

Nama indeks Lastpoint. Untuk informasi selengkapnya, lihat Indeks Lastpoint.

Contoh

Konfigurasi TTL metadata

Contoh berikut mengatur TTL data deret waktu menjadi 7 hari, TTL metadata menjadi 14 hari, dan menonaktifkan pembaruan atribut metadata.

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

Kustomisasi pengenal deret waktu dan kunci primer bidang data

Penting

Pengenal deret waktu kustom dan kunci primer bidang data memerlukan Tablestore SDK for Java versi 5.17.1 atau lebih baru. Disarankan untuk menggunakan versi SDK terbaru. Sebelum menggunakan fitur ini, pastikan wilayah instans mendukungnya.

Contoh berikut menggunakan pk1 dan pk2 sebagai pengenal deret waktu serta field1 dan field2 sebagai kunci primer bidang data.

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

Buat indeks Lastpoint

Penting

Indeks Lastpoint memerlukan Tablestore SDK for Java versi 5.17.1 atau lebih baru. Disarankan untuk menggunakan versi SDK terbaru. Untuk menggunakan fitur ini, buat instans model deret waktu di wilayah yang didukung. Wilayah yang didukung dapat dilihat di Indeks Lastpoint.

Contoh berikut membuat example_lastpoint_index bersamaan dengan tabel deret waktu.

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

Buat analytical store

Analytical store menyediakan penyimpanan dan analisis data deret waktu yang hemat biaya. Untuk menggunakan fitur ini, buat instans model deret waktu di wilayah yang didukung. Informasi wilayah yang didukung dan detail fitur tersedia di Analytical store.

Penyimpanan analitis bawaan

Atur enableAnalyticalStore ke true untuk membuat analytical store default bernama default_analytical_store.

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

timeseriesClient.createTimeseriesTable(request);

Penyimpanan analitis kustom

Contoh berikut membuat example_analytical_store bersamaan dengan tabel deret waktu. Data dalam analytical store tidak kedaluwarsa dan menggunakan sinkronisasi penuh.

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

Referensi