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) |
|
Skema tabel deret waktu. |
|
analyticalStores (optional) |
|
Analytical store kustom. Nilai default: daftar kosong. Anda dapat membuat paling banyak satu analytical store saat membuat tabel deret waktu. |
|
enableAnalyticalStore (optional) |
|
Menentukan apakah akan membuat analytical store default. Nilai default: |
|
lastpointIndexes (optional) |
|
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) |
|
Nama tabel deret waktu. Harus unik di antara tabel data dan tabel deret waktu dalam instans tersebut. |
|
timeseriesTableOptions (optional) |
|
Pengaturan TTL data deret waktu. Pengaturan default digunakan jika parameter ini tidak dikonfigurasi. |
|
timeseriesMetaOptions (optional) |
|
Pengaturan metadata deret waktu, termasuk TTL metadata dan pengaturan pembaruan atribut. |
|
timeseriesKeys (optional) |
|
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) |
|
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) |
|
TTL data deret waktu dalam detik. Nilai default: |
Metadata deret waktu
timeseriesTableMeta.timeseriesMetaOptions bertipe TimeseriesMetaOptions dan berisi parameter berikut.
|
Name |
Type |
Description |
|
metaTimeToLive (optional) |
|
TTL metadata deret waktu dalam detik. Atur nilai ke |
|
allowUpdateAttributes (optional) |
|
Menentukan apakah kolom atribut metadata dapat diperbarui. Jika |
Kunci primer bidang data
Setiap elemen dalam timeseriesTableMeta.fieldPrimaryKeys[] bertipe PrimaryKeySchema dan berisi parameter berikut.
|
Name |
Type |
Description |
|
name (required) |
|
Nama bidang data yang digunakan sebagai kunci primer. |
|
type (required) |
|
Tipe bidang data. Nilai yang valid: |
Analytical store
Setiap elemen dalam analyticalStores[] bertipe TimeseriesAnalyticalStore dan berisi parameter berikut.
|
Name |
Type |
Description |
|
analyticalStoreName (required) |
|
Nama analytical store. |
|
timeToLive (optional) |
|
TTL analytical store dalam detik. Nilai default: |
|
syncOption (optional) |
|
Mode sinkronisasi data. Nilai default: |
Indeks Lastpoint
Setiap elemen dalam lastpointIndexes[] bertipe CreateTimeseriesTableRequest.LastpointIndex dan berisi parameter berikut.
|
Name |
Type |
Description |
|
indexName (required) |
|
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
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
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
-
Setelah membuat tabel deret waktu, tulis data deret waktu ke tabel tersebut.
-
Setelah menulis data, baca data deret waktu dari tabel tersebut.