全部产品
Search
文档中心

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

更新时间:Jul 02, 2025

Secara default, pengenal deret waktu dalam model TimeSeries terdiri dari nama metrik, sumber data, dan tag. Anda dapat menentukan pengenal deret waktu kustom sesuai kebutuhan bisnis. Dalam tabel deret waktu, satu baris data diidentifikasi secara unik oleh pengenal deret waktu dan cap waktu. Untuk menyimpan beberapa baris dengan pengenal deret waktu dan cap waktu yang sama tetapi data berbeda, Anda dapat menentukan bidang data kustom sebagai kolom kunci utama. Topik ini menjelaskan cara menentukan pengenal deret waktu kustom dan bidang data kustom sebagai kolom kunci utama tabel deret waktu.

Catatan Penggunaan

Anda dapat menentukan pengenal deret waktu kustom dan bidang data kustom sebagai kolom kunci utama tabel deret waktu di wilayah berikut: Tiongkok (Hangzhou), Tiongkok (Shanghai), Tiongkok (Beijing), dan Tiongkok (Zhangjiakou). Untuk melakukannya, buat instance untuk model TimeSeries di salah satu wilayah tersebut.

Skenario

Tentukan pengenal deret waktu kustom

Pengenal deret waktu kustom berguna dalam skenario yang memerlukan penempatan waktu yang tepat, kueri rentang, analisis tren, dan asosiasi peristiwa. Berikut adalah beberapa contoh:

  • Pemecahan Masalah dan Analisis Penyebab Akar

    Dalam operasi TI dan pemantauan peralatan industri, pengenal deret waktu kustom membantu menandai secara tepat kapan kegagalan terjadi. Dikombinasikan dengan data lain seperti status perangkat dan informasi log, pengenal ini mempermudah identifikasi penyebab masalah untuk analisis penyebab akar.

  • Analisis Perilaku Pengguna

    Dalam aplikasi internet, pengenal deret waktu kustom memungkinkan analisis periode aktif pengguna, durasi sesi, dan jalur perilaku dengan mencatat waktu login, durasi tampilan halaman, dan urutan operasi. Pendekatan ini mendukung optimasi pengalaman pengguna dan rekomendasi konten cerdas.

  • Audit Transaksi Keuangan

    Dalam sektor keuangan, setiap transaksi memerlukan cap waktu yang tepat. Pengenal deret waktu kustom digunakan untuk memastikan urutan dan integritas transaksi serta mendukung analisis anti-penipuan, seperti mengidentifikasi pola transaksi abnormal dan melacak aliran dana.

Dengan menentukan pengenal deret waktu kustom, Anda dapat mengelompokkan, memfilter, dan menganalisis data secara fleksibel, memungkinkan manajemen granular dan wawasan mendalam di berbagai skenario bisnis.

Data deret waktu contoh

Tabel berikut menunjukkan data deret waktu contoh untuk memantau suhu dan kelembaban perangkat industri.

  • Kolom measurement, data_source, area, dan _tags adalah bidang pengenal deret waktu kustom yang menyimpan nama metrik, sumber data, wilayah, dan tag.

  • Kolom _time menyimpan cap waktu.

  • Kolom temperature dan humidity masing-masing menyimpan suhu dan kelembaban.

measurement

data_source

area

_tags

_time

temperature

humidity

temperature

sensorA001

produksi

["sensor_type=typeA",

"sensor_version=1.0"]

1712476514000000

24.5

temperature

sensorA002

produksi

["sensor_type=typeA",

"sensor_version=1.0"]

1712476524000000

24.5

temperature

sensorA002

pemeliharaan

["sensor_type=typeA",

"sensor_version=1.1"]

1712476534000000

23.0

humidity

sensorB001

produksi

["sensor_type=typeB",

"sensor_version=1.0"]

1712476514000000

0.55

humidity

sensorB001

pemeliharaan

["sensor_type=typeB",

"sensor_version=1.0"]

1712476524000000

0.50

Tentukan bidang data kustom sebagai kolom kunci utama

Untuk menyimpan beberapa baris data deret waktu dengan pengenal deret waktu dan cap waktu yang sama, Anda dapat menentukan bidang data kustom sebagai kolom kunci utama tabel deret waktu. Berikut adalah beberapa contoh:

  • Analisis Asosiasi Peristiwa

    Dalam skenario analisis kompleks, Anda mungkin ingin mengaitkan data deret waktu berdasarkan bidang data selain pengenal deret waktu. Menentukan bidang data kustom sebagai kolom kunci utama memungkinkan Anda menemukan data perangkat tertentu pada cap waktu tertentu dengan cepat. Pendekatan ini cocok untuk pemecahan masalah dan analisis perilaku.

  • Pengindeksan Multi-Dimensi

    Untuk aplikasi lanjutan dari database deret waktu, jika Anda ingin melakukan kueri dan penyaringan multi-dimensi pada data, Anda dapat menentukan bidang data kustom sebagai kolom kunci utama untuk meningkatkan efisiensi kueri. Pendekatan ini memungkinkan lokasi yang lebih tepat dari data relevan, terutama saat memproses sejumlah besar data.

  • Manajemen Data Deret Waktu Multi-Penyewa

    Saat menyediakan layanan penyimpanan data deret waktu untuk beberapa pelanggan, Anda dapat menentukan ID penyewa sebagai salah satu kolom kunci utama dalam tabel deret waktu untuk membentuk kunci komposit dengan cap waktu. Pendekatan ini memastikan isolasi data dan akses yang efisien untuk penyewa yang berbeda.

Data deret waktu contoh

Saat memantau pemanfaatan CPU server, Anda perlu menggunakan pengenal deret waktu untuk menemukan setiap server, tetapi setiap server memiliki beberapa inti. Dalam kasus ini, Anda dapat menentukan ID inti sebagai kolom kunci utama. Tabel berikut menunjukkan data deret waktu contoh.

  • Kolom _m_name, _data_source, dan _tags adalah bidang pengenal deret waktu kustom yang menyimpan nama metrik, sumber data, dan tag.

  • Kolom _time menyimpan cap waktu.

  • Kolom processor menyimpan ID inti server. Bidang ini ditentukan sebagai kolom kunci utama.

  • Kolom cpu_usage menyimpan pemanfaatan CPU.

_m_name

_data_source

_tags

_time

processor

cpu_usage

cpu

host_1

["region=hangzhou"]

1712476524000000

0

10.0

cpu

host_1

["region=hangzhou"]

1712476524000000

1

10.0

cpu

host_1

["region=hangzhou"]

1712476524000000

2

10.0

Metode

Anda dapat menentukan pengenal deret waktu kustom dan bidang data kustom sebagai kolom kunci utama tabel deret waktu melalui konsol Tablestore atau menggunakan SDK Tablestore.

Sebelum menentukan pengenal deret waktu kustom dan bidang data kustom sebagai kolom kunci utama tabel deret waktu, pastikan langkah-langkah persiapan berikut telah dilakukan:

  • Akun Alibaba Cloud atau Pengguna Resource Access Management (RAM) dengan izin operasi Tablestore telah dibuat. Untuk informasi tentang cara memberikan izin operasi Tablestore kepada pengguna RAM, lihat Gunakan kebijakan RAM untuk memberikan izin kepada pengguna RAM.

    Saat menggunakan SDK Tablestore, jika tidak ada pasangan AccessKey yang tersedia, Anda harus membuat pasangan AccessKey untuk akun Alibaba Cloud atau pengguna RAM. Untuk informasi lebih lanjut, lihat Buat pasangan AccessKey.

    Peringatan

    Jika pasangan AccessKey akun Alibaba Cloud Anda bocor, keamanan semua sumber daya Anda akan terganggu. Untuk memastikan keamanan akun, kami sarankan Anda menggunakan pasangan AccessKey pengguna RAM dan tidak membuat atau menggunakan pasangan AccessKey akun Alibaba Cloud.

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

    Penting

    Untuk menentukan pengenal deret waktu kustom dan bidang data kustom sebagai kolom kunci utama tabel deret waktu, Anda harus membuat instance untuk model TimeSeries di wilayah Tiongkok (Hangzhou), Tiongkok (Shanghai), Tiongkok (Beijing), atau Tiongkok (Zhangjiakou).

  • Saat menggunakan SDK Tablestore, TimeseriesClient telah diinisialisasi. Untuk informasi lebih lanjut, lihat Inisialisasi klien Tablestore.

Tentukan pengenal deret waktu kustom

Secara default, pengenal deret waktu dalam model TimeSeries terdiri dari nama metrik, sumber data, dan tag. Dalam tabel deret waktu, pengenal deret waktu ini sesuai dengan bidang _m_name, _data_source, dan _tags. Tag terdiri dari beberapa pasangan kunci-nilai bertipe String.

Jika nama bidang default pengenal deret waktu tidak memenuhi kebutuhan bisnis Anda, Anda dapat menentukan pengenal deret waktu kustom untuk lebih sesuai dengan skenario aplikasi aktual, meningkatkan intuitivitas dan efisiensi pemrosesan serta analisis data. Misalnya, saat memantau pemanfaatan CPU server, Anda dapat menggunakan pengenal deret waktu untuk menemukan setiap inti CPU. Setelah menentukan pengenal deret waktu kustom, Anda masih dapat menggunakan nama default pengenal deret waktu untuk operasi data.

Anda harus menentukan pengenal deret waktu kustom saat membuat tabel deret waktu. Kemudian, Anda dapat menulis data ke tabel deret waktu berdasarkan pengenal deret waktu kustom. Proses spesifiknya adalah sebagai berikut:

Gunakan konsol Tablestore

  1. Saat membuat tabel deret waktu, tentukan pengenal deret waktu kustom. Untuk informasi lebih lanjut, lihat Operasi pada tabel deret waktu.

  2. Tulis data ke tabel deret waktu berdasarkan pengenal deret waktu kustom.

    Saat menulis data ke tabel deret waktu, bidang pengenal deret waktu kustom di klien dikirim ke server Tablestore sebagai pasangan kunci-nilai. Server Tablestore pertama-tama mengekstrak nama metrik dan sumber data dari pasangan kunci-nilai, kemudian menggunakan pasangan kunci-nilai yang tersisa sebagai tag deret waktu. Untuk informasi lebih lanjut, lihat Tulis data deret waktu.

    Penting

    Jika bidang pengenal deret waktu kustom tidak termasuk bidang _tags saat membuat tabel deret waktu tetapi masih ada pasangan kunci-nilai yang tersisa setelah mengecualikan nama metrik, sumber data, dan bidang kustom saat menulis data deret waktu, data gagal ditulis.

  3. Baca data dari tabel deret waktu.

    1. Buat tabel pemetaan SQL untuk tabel deret waktu. Untuk informasi lebih lanjut, lihat Buat tabel pemetaan dalam model multi-nilai untuk tabel deret waktu.

      1. Di halaman Manage Time Series Table, klik tab Query by Executing SQL Statement.

      2. Di sisi kiri tab Query by Executing SQL Statement, klik ikon + di sebelah nama instance untuk model TimeSeries.

      3. Dalam kotak dialog Create Mapping Table, konfigurasikan parameter berikut. Tabel di bawah ini menjelaskan parameter tersebut.

        Parameter

        Deskripsi

        Nama Tabel

        Nama tabel deret waktu.

        Nama Tabel Pemetaan

        Nama tabel pemetaan.

        Catatan

        Saat Anda membuat tabel pemetaan SQL untuk tabel deret waktu, sistem secara otomatis menambahkan awalan nama tabel deret waktu:: ke nama tabel pemetaan.

        Aktifkan Penyimpanan Analitik

        Fitur penyimpanan analitik digunakan dalam skenario di mana Anda ingin menyimpan data deret waktu untuk jangka waktu panjang dan menganalisis data deret waktu. Anda dapat menggunakan fitur penyimpanan analitik untuk menyimpan data deret waktu dengan biaya lebih rendah dan menanyakan serta menganalisis data deret waktu secara efisien. Untuk informasi lebih lanjut, lihat Penyimpanan analitik.

        Secara default, Enable Analytical Store dimatikan. Konfigurasikan parameter berdasarkan kebutuhan bisnis Anda.

        • Jika Anda tidak ingin menggunakan penyimpanan analitik untuk menyimpan dan menganalisis data deret waktu, pertahankan pengaturan default untuk parameter Enable Analytical Store.

        • Jika Anda ingin menyimpan data deret waktu dengan biaya lebih rendah atau menanyakan dan menganalisis data deret waktu secara efisien, pastikan penyimpanan analitik dibuat dan Enable Analytical Store diaktifkan.

        Penting
        • Fitur penyimpanan analitik didukung di wilayah berikut: Tiongkok (Hangzhou), Tiongkok (Shanghai), Tiongkok (Beijing), dan Tiongkok (Zhangjiakou). Untuk menggunakan fitur penyimpanan analitik, buat instance untuk model TimeSeries di salah satu wilayah tersebut. Untuk informasi lebih lanjut, lihat Buat instance untuk model TimeSeries.

        • Jika Anda membuat tabel pemetaan untuk yang Enable Analytical Store diaktifkan, saat Anda menghapus penyimpanan analitik, Anda harus menghapus tabel pemetaan pada saat yang sama. Jika tidak, Anda gagal menghapus penyimpanan analitik.

      4. Klik Generate SQL Statement. Sistem secara otomatis menghasilkan pernyataan SQL untuk membuat tabel pemetaan.

        Setelah menentukan pengenal deret waktu kustom, saat membuat tabel pemetaan SQL, tentukan pengenal deret waktu kustom dan bidang data kustom yang digunakan sebagai kolom kunci utama tabel deret waktu sebagai kolom kunci utama tabel pemetaan SQL.

      5. Klik Execute SQL Statement(F8).

    2. Jalankan pernyataan SELECT untuk menanyakan data. Untuk informasi lebih lanjut, lihat Tanyakan data.

      Masukkan pernyataan SQL di editor SQL di konsol dan klik Execute SQL Statement(F8).

      Pernyataan SQL contoh berikut memberikan contoh cara menanyakan informasi deret waktu di mana nilai cpu_usage melebihi 90.0 dalam tabel deret waktu menggunakan tabel pemetaan bernama cpu::ts1:

      SELECT `host`, `processor`, `_tags` , `_time` FROM `cpu::ts1` WHERE cpu_usage > 90.0;

Gunakan SDK Tablestore

Penting
  • Anda dapat menentukan pengenal deret waktu kustom dengan menggunakan SDK Tablestore for Java V5.17.1 dan yang lebih baru, versi terbaru dari SDK Tablestore for Go, atau SDK Tablestore for Python V6.1.0 dan yang lebih baru. Saat menentukan pengenal deret waktu kustom, pastikan Anda menggunakan versi SDK Tablestore yang benar.

  • Saat menulis data deret waktu berdasarkan pengenal deret waktu kustom, jika Anda tidak ingin menambahkan nama metrik atau sumber data, biarkan bidang yang sesuai kosong.

Dalam contoh ini, SDK Tablestore for Java digunakan.

  1. Saat membuat tabel deret waktu, tentukan pengenal deret waktu kustom.

    Kode contoh berikut memberikan contoh cara membuat tabel deret waktu tanpa penyimpanan analitik dan menentukan pengenal deret waktu kustom:

    private static void createTimeseriesTable(TimeseriesClient client) {
        TimeseriesTableMeta timeseriesTableMeta = new TimeseriesTableMeta("");
        timeseriesTableMeta.setTimeseriesTableOptions(new TimeseriesTableOptions(-1));
        // Tentukan pengenal deret waktu kustom. Bidang host menyimpan nama metrik, bidang processor menyimpan sumber data, dan bidang _tags menyimpan tag.
        timeseriesTableMeta.addTimeseriesKey("host");
        timeseriesTableMeta.addTimeseriesKey("processor");
        timeseriesTableMeta.addTimeseriesKey("_tags");
        CreateTimeseriesTableRequest request = new CreateTimeseriesTableRequest(timeseriesTableMeta);
        request.setEnableAnalyticalStore(false);
        client.createTimeseriesTable(request);
    }
  2. Tulis data ke tabel deret waktu berdasarkan pengenal deret waktu kustom.

    Saat menulis data ke tabel deret waktu, bidang pengenal deret waktu kustom di klien dikirim ke server Tablestore sebagai pasangan kunci-nilai. Server Tablestore pertama-tama mengekstrak nama metrik dan sumber data dari pasangan kunci-nilai, kemudian menggunakan pasangan kunci-nilai yang tersisa sebagai tag deret waktu.

    Penting

    Jika bidang pengenal deret waktu kustom tidak termasuk bidang _tags saat membuat tabel deret waktu tetapi masih ada pasangan kunci-nilai yang tersisa setelah mengecualikan nama metrik, sumber data, dan bidang kustom saat menulis data deret waktu, data gagal ditulis.

    Kode contoh berikut memberikan contoh cara menulis tiga baris data deret waktu ke tabel deret waktu berdasarkan pengenal deret waktu kustom.

    private static void putTimeseriesData(TimeseriesClient client) {
        long timeInUs = System.currentTimeMillis() * 1000;
        List rows = new ArrayList();
        for (int i = 0; i < 3; i++) {
            Map tags = new HashMap<>();
            // Tambahkan bidang pengenal deret waktu kustom.
            tags.put("host", "host_" + i);
            tags.put("processor", String.valueOf(i));
            // Pasangan kunci-nilai yang tidak sesuai dengan pengenal deret waktu kustom digunakan sebagai tag deret waktu.
            tags.put("region", "hangzhou");
             TimeseriesKey timeseriesKey = new TimeseriesKey("", "", tags);
            TimeseriesRow row = new TimeseriesRow(timeseriesKey, timeInUs);
            row.addField("cpu_usage", ColumnValue.fromDouble(10.0));
            row.addField("cpu_sys", ColumnValue.fromDouble(5.0));
            rows.add(row);
        }
        String tableName = "";
        PutTimeseriesDataRequest putTimeseriesDataRequest = new PutTimeseriesDataRequest(tableName);
        putTimeseriesDataRequest.setRows(rows);
        client.putTimeseriesData(putTimeseriesDataRequest);
    }

    Tabel berikut menunjukkan data deret waktu dalam tabel deret waktu setelah data berhasil ditulis.

    host

    processor

    _tags

    _time

    cpu_usage

    cpu_sys

    host_0

    0

    ["region=hangzhou"]

    1712476524000000

    10.0

    5.0

    host_1

    1

    ["region=hangzhou"]

    1712476524000000

    10.0

    5.0

    host_2

    2

    ["region=hangzhou"]

    1712476524000000

    10.0

    5.0

  3. Jalankan pernyataan SQL untuk membaca data dari tabel deret waktu.

    1. Buat tabel pemetaan SQL untuk tabel deret waktu. Untuk informasi lebih lanjut, lihat Buat tabel pemetaan dalam model multi-nilai untuk tabel deret waktu.

      Setelah menentukan pengenal deret waktu kustom, saat membuat tabel pemetaan SQL, tentukan bidang pengenal deret waktu kustom dan bidang cap waktu sebagai kolom kunci utama tabel pemetaan SQL.

      Konfigurasi contoh:

      CREATE TABLE `cpu::ts1` (
          `host` VARCHAR(1024),
          `processor` VARCHAR(1024),
          `_tags` VARCHAR(1024),
          `_time` BIGINT(20),
          `cpu_usage` DOUBLE,
          `cpu_sys` DOUBLE,
          PRIMARY KEY(`host`,`processor`,`_tags`,`_time`)
      );
    2. Jalankan pernyataan SELECT untuk menanyakan data. Untuk informasi lebih lanjut, lihat Tanyakan data.

      Pernyataan SQL contoh berikut memberikan contoh cara menanyakan informasi deret waktu di mana nilai cpu_usage melebihi 90.0 dalam tabel deret waktu menggunakan tabel pemetaan bernama cpu::ts1:

      SELECT `host`, `processor`, `_tags` , `_time` FROM `cpu::ts1` WHERE cpu_usage > 90.0;

Tentukan bidang data kustom sebagai kolom kunci utama

Dalam tabel deret waktu, satu baris data deret waktu diidentifikasi secara unik oleh pengenal deret waktu dan cap waktu. Ini menunjukkan bahwa dua baris data deret waktu tidak dapat memiliki pengenal deret waktu dan cap waktu yang sama.

Jika Anda ingin menyimpan beberapa baris data deret waktu dengan pengenal deret waktu dan cap waktu yang sama, Anda dapat menentukan bidang data kustom sebagai kolom kunci utama tabel deret waktu. Misalnya, saat memantau pemanfaatan CPU server, Anda perlu menggunakan pengenal deret waktu untuk menemukan setiap server, tetapi setiap server memiliki beberapa inti. Dalam kasus ini, Anda dapat menentukan ID inti sebagai kolom kunci utama.

Anda harus menentukan bidang data kustom sebagai kolom kunci utama tabel deret waktu saat membuat tabel deret waktu. Kemudian, Anda harus menentukan nilai bidang data yang ditentukan sebagai kolom kunci utama saat menulis data ke tabel deret waktu. Proses spesifiknya adalah sebagai berikut:

Gunakan konsol Tablestore

  1. Saat membuat tabel deret waktu, tentukan bidang data kustom sebagai kolom kunci utama tabel deret waktu. Untuk informasi lebih lanjut, lihat Operasi pada tabel deret waktu.

  2. Tulis data deret waktu ke tabel deret waktu.

    Saat menulis data ke tabel deret waktu, bidang data yang ditentukan sebagai kolom kunci utama tidak boleh dibiarkan kosong. Anda dapat menyimpan beberapa baris data deret waktu dengan pengenal deret waktu dan cap waktu yang sama dengan menentukan bidang data kustom sebagai kolom kunci utama. Untuk informasi lebih lanjut, lihat Tulis data deret waktu.

  3. Baca data dari tabel deret waktu.

    1. Buat tabel pemetaan SQL untuk tabel deret waktu. Untuk informasi lebih lanjut, lihat Buat tabel pemetaan dalam model multi-nilai untuk tabel deret waktu.

      1. Di halaman Manage Time Series Table, klik tab Query by Executing SQL Statement.

      2. Di sisi kiri tab Query by Executing SQL Statement, klik ikon + di sebelah nama instance untuk model TimeSeries.

      3. Di kotak dialog Create Mapping Table, konfigurasikan parameter. Tabel berikut menjelaskan parameter.

        Parameter

        Deskripsi

        Nama Tabel

        Nama tabel deret waktu.

        Nama Tabel Pemetaan

        Nama tabel pemetaan.

        Catatan

        Saat Anda membuat tabel pemetaan SQL untuk tabel deret waktu, sistem secara otomatis menambahkan awalan nama tabel deret waktu:: ke nama tabel pemetaan.

        Aktifkan Penyimpanan Analitik

        Fitur penyimpanan analitik digunakan dalam skenario di mana Anda ingin menyimpan data deret waktu untuk jangka waktu panjang dan menganalisis data deret waktu. Anda dapat menggunakan fitur penyimpanan analitik untuk menyimpan data deret waktu dengan biaya lebih rendah dan menanyakan serta menganalisis data deret waktu secara efisien. Untuk informasi lebih lanjut, lihat Penyimpanan analitik.

        Secara default, Enable Analytical Store dimatikan. Konfigurasikan parameter berdasarkan kebutuhan bisnis Anda.

        • Jika Anda tidak ingin menggunakan penyimpanan analitik untuk menyimpan dan menganalisis data deret waktu, pertahankan pengaturan default untuk parameter Enable Analytical Store.

        • Jika Anda ingin menyimpan data deret waktu dengan biaya lebih rendah atau menanyakan dan menganalisis data deret waktu secara efisien, pastikan penyimpanan analitik dibuat dan Enable Analytical Store diaktifkan.

        Penting
        • Fitur penyimpanan analitik didukung di wilayah berikut: Tiongkok (Hangzhou), Tiongkok (Shanghai), Tiongkok (Beijing), dan Tiongkok (Zhangjiakou). Untuk menggunakan fitur penyimpanan analitik, buat instance untuk model TimeSeries di salah satu wilayah tersebut. Untuk informasi lebih lanjut, lihat Buat instance untuk model TimeSeries.

        • Jika Anda membuat tabel pemetaan untuk yang Enable Analytical Store diaktifkan, saat Anda menghapus penyimpanan analitik, Anda harus menghapus tabel pemetaan pada saat yang sama. Jika tidak, Anda gagal menghapus penyimpanan analitik.

      4. Klik Generate SQL Statement. Sistem secara otomatis menghasilkan pernyataan SQL untuk membuat tabel pemetaan.

        Setelah menentukan bidang data kustom sebagai kolom kunci utama tabel deret waktu, saat membuat tabel pemetaan SQL, tentukan pengenal deret waktu dan bidang data kustom yang digunakan sebagai kolom kunci utama tabel deret waktu sebagai kolom kunci utama tabel pemetaan SQL.

      5. Klik Execute SQL Statement(F8).

    2. Jalankan pernyataan SELECT untuk menanyakan data. Untuk informasi lebih lanjut, lihat Tanyakan data.

      Masukkan pernyataan SQL di editor SQL di konsol dan klik Execute SQL Statement(F8).

      Pernyataan SQL contoh berikut memberikan contoh cara menanyakan informasi deret waktu di mana nilai cpu_usage melebihi 90.0 dalam tabel deret waktu menggunakan tabel pemetaan bernama cpu::ts1:

      SELECT `host`, `processor`, `_tags` , `_time` FROM `cpu::ts1` WHERE cpu_usage > 90.0;

Gunakan SDK Tablestore

Penting

Anda dapat menentukan bidang data kustom sebagai kolom kunci utama dengan menggunakan SDK Tablestore for Java V5.17.1 dan yang lebih baru, versi terbaru dari SDK Tablestore for Go, atau SDK Tablestore for Python V6.1.0 dan yang lebih baru. Saat menentukan bidang data kustom sebagai kolom kunci utama, pastikan Anda menggunakan versi SDK Tablestore yang benar.

Dalam contoh ini, SDK Tablestore for Java digunakan.

  1. Saat membuat tabel deret waktu, tentukan bidang data kustom sebagai kolom kunci utama tabel deret waktu.

    Kode contoh berikut memberikan contoh cara membuat tabel deret waktu tanpa penyimpanan analitik dan menentukan bidang data kustom sebagai kolom kunci utama tabel deret waktu:

    private static void createTimeseriesTable(TimeseriesClient client) {
        TimeseriesTableMeta timeseriesTableMeta = new TimeseriesTableMeta("");
        timeseriesTableMeta.setTimeseriesTableOptions(new TimeseriesTableOptions(-1));
        // Tentukan bidang data kustom sebagai kolom kunci utama.
        timeseriesTableMeta.addFieldPrimaryKey("processor", PrimaryKeyType.INTEGER);
        CreateTimeseriesTableRequest request = new CreateTimeseriesTableRequest(timeseriesTableMeta);
        request.setEnableAnalyticalStore(false);
        client.createTimeseriesTable(request);
    }
  2. Tulis data deret waktu ke tabel deret waktu.

    Saat menulis data ke tabel deret waktu, bidang data yang ditentukan sebagai kolom kunci utama tidak boleh dibiarkan kosong. Anda dapat menyimpan beberapa baris data deret waktu dengan pengenal deret waktu dan cap waktu yang sama dengan menentukan bidang data kustom sebagai kolom kunci utama.

    Kode contoh berikut memberikan contoh cara menulis tiga baris data deret waktu dengan pengenal deret waktu dan cap waktu yang sama ke tabel deret waktu:

    private static void putTimeseriesData(TimeseriesClient client) {
        long timeInUs = System.currentTimeMillis() * 1000;
        List rows = new ArrayList();
        for (int i = 0; i < 3; i++) {
            Map tags = new HashMap<>();
            tags.put("region", "hangzhou");
             TimeseriesKey timeseriesKey = new TimeseriesKey("cpu", "host_" + i, tags);
            TimeseriesRow row = new TimeseriesRow(timeseriesKey, timeInUs);
            // Bidang data yang ditentukan sebagai kolom kunci utama tidak boleh dibiarkan kosong.
            row.addField("processor", ColumnValue.fromLong(i));
            row.addField("cpu_usage", ColumnValue.fromDouble(10.0));
            row.addField("cpu_sys", ColumnValue.fromDouble(5.0));
            rows.add(row);
        }
        String tableName = "<TIMESERIES_TABLE_NAME>";
        PutTimeseriesDataRequest putTimeseriesDataRequest = new PutTimeseriesDataRequest(tableName);
        putTimeseriesDataRequest.setRows(rows);
        client.putTimeseriesData(putTimeseriesDataRequest);
    }

    Tabel berikut menunjukkan data deret waktu dalam tabel deret waktu setelah data berhasil ditulis.

    _m_name

    _data_source

    _tags

    _time

    processor

    cpu_usage

    cpu_sys

    cpu

    host_0

    ["region=hangzhou"]

    1712476524000000

    0

    10.0

    5.0

    cpu

    host_1

    ["region=hangzhou"]

    1712476524000000

    1

    10.0

    5.0

    cpu

    host_2

    ["region=hangzhou"]

    1712476524000000

    2

    10.0

    5.0

  3. Jalankan pernyataan SQL untuk membaca data dari tabel deret waktu.

    1. Buat tabel pemetaan SQL untuk tabel deret waktu. Untuk informasi lebih lanjut, lihat Buat tabel pemetaan dalam model multi-nilai untuk tabel deret waktu.

      Setelah menentukan bidang data kustom sebagai kolom kunci utama tabel deret waktu, saat membuat tabel pemetaan SQL, tentukan pengenal deret waktu dan bidang data kustom yang digunakan sebagai kolom kunci utama tabel deret waktu sebagai kolom kunci utama tabel pemetaan SQL.

      Konfigurasi contoh:

      CREATE TABLE `cpu::ts1` (
          `_m_name` VARCHAR(1024),
          `_data_source`  VARCHAR(1024),
          `_tags` VARCHAR(1024),
          `_time` BIGINT(20),
          `processor` BIGINT,
          `cpu_usage` DOUBLE,
          `cpu_sys` DOUBLE,
          PRIMARY KEY(`_m_name`,`_data_source`,`_tags`,`_time`,`processor`)
      );
    2. Jalankan pernyataan SELECT untuk menanyakan data. Untuk informasi lebih lanjut, lihat Tanyakan data.

      Pernyataan SQL contoh berikut memberikan contoh cara menanyakan informasi deret waktu di mana nilai cpu_usage melebihi 90.0 dalam tabel deret waktu menggunakan tabel pemetaan bernama cpu::ts1:

      SELECT `_m_name`, `_data_source`, `_tags` , `_time`, `processor` FROM `cpu::ts1` WHERE cpu_usage > 90.0;