全部产品
Search
文档中心

Lindorm:Buat model data

更新时间:Jul 06, 2025

Topik ini menjelaskan cara menggunakan LindormTSDB untuk membuat model data.

Buat basis data time series Lindorm

Setelah membuat instance Lindorm, basis data bernama default secara otomatis dibuat untuk instance tersebut. Secara default, data yang ditulis ke instance disimpan dalam basis data ini. Basis data default tidak dapat dihapus.

LindormTSDB memungkinkan Anda membuat beberapa basis data. Data yang disimpan di basis data berbeda diisolasi secara fisik. Anda juga dapat mengonfigurasi waktu hidup data (TTL), interval partisi, serta batas data panas dan dingin untuk setiap basis data. Untuk informasi lebih lanjut tentang cara membuat basis data, lihat CREATE DATABASE.

Contoh

  • Buat basis data bernama DB1 dan tentukan bahwa data di DB1 tidak kedaluwarsa.

    CREATE DATABASE DB1;
  • Buat basis data bernama DB2 dan atur TTL data DB2 menjadi 60 hari.

    CREATE DATABASE DB2 WITH (ttl=60);
  • Buat basis data bernama DB3 dan atur TTL data DB3 menjadi 60 hari serta batas data panas dan dingin menjadi 30 hari.

    CREATE DATABASE DB3 WITH (cold_boundary=30, ttl=60);
    Catatan
    • TTL data dan batas data panas dan dingin diukur dalam hari.

    • Nilai batas data panas dan dingin harus lebih kecil dari nilai TTL data.

Partisi basis data berdasarkan waktu

Anda dapat mempartisi basis data LindormTSDB berdasarkan waktu. Data dalam rentang waktu yang berbeda disimpan di partisi yang berbeda. Setiap partisi berisi data time series dan indeks untuk time series tersebut.

Jika Anda membuat time series periodik dan sejumlah besar time series dihasilkan, kami sarankan Anda mempartisi basis data berdasarkan waktu untuk menghindari indeks yang terlalu besar pada partisi yang sama. Interval partisi default adalah 30 hari. Kami sarankan Anda mengatur interval partisi menjadi 7 atau 30 hari. Untuk informasi lebih lanjut tentang cara mempartisi basis data berdasarkan waktu, lihat CREATE DATABASE.

Saat Anda menanyakan data dalam basis data, hanya partisi yang menyimpan data dalam rentang waktu tertentu yang akan diperiksa.

Contoh

  • Buat basis data bernama DB4 dan atur interval partisi menjadi 30 hari.

    CREATE DATABASE DB4 WITH (partition_interval=30);
  • Untuk basis data yang sudah ada, Anda dapat mengubah interval partisinya dengan memodifikasi parameter partition_interval.

    ALTER DATABASE DB4 WITH (partition_interval=60);
    Penting

    Setelah Anda mengubah interval partisi basis data, interval partisi baru tidak langsung berlaku. Setelah interval partisi diubah, LindormTSDB menentukan hari terakhir ketika data ditulis ke partisi saat ini sebagai waktu akhir partisi dan membuat partisi baru untuk menyimpan data yang ditulis ke basis data setelah hari itu. Interval partisi baru hanya berlaku untuk partisi yang dibuat setelah interval diubah. Interval partisi partisi yang ada tetap tidak berubah.

    Sebagai contoh, interval partisi basis data DB4 diubah dari 30 hari menjadi 60 hari. Ketika interval diubah, data dalam 50 hari telah disimpan secara terpisah di dua partisi bernama Partition1 dan Partition2 di DB4. Partition1 menyimpan data yang ditulis ke DB4 dari hari 1 hingga hari 30. Partition2 menyimpan data yang ditulis ke DB4 dari hari 31 hingga hari 50. Setelah interval partisi diubah, data yang ditulis ke DB4 dari hari 51 ditulis ke partisi baru yang memiliki interval partisi 60 hari. Interval partisi Partition1 dan Partition2 tetap tidak berubah.

Tentukan batas data panas dan dingin

LindormTSDB memungkinkan Anda menyimpan data panas dan dingin secara terpisah di media penyimpanan yang berbeda. Anda dapat menentukan batas data panas dan dingin dalam hari untuk basis data dengan mengonfigurasi parameter cold_boundary. Data yang telah disimpan selama periode lebih lama dari batas tersebut dipindahkan ke penyimpanan dingin yang lebih hemat biaya.

Untuk menyimpan data panas dan dingin secara terpisah, Anda harus mengaktifkan penyimpanan dingin untuk basis data. Untuk informasi lebih lanjut, lihat Aktifkan Penyimpanan Dingin.

Penting
  • Data yang dipindahkan ke penyimpanan dingin tidak dapat dipindahkan kembali ke penyimpanan panas.

  • Data dipindahkan secara asinkron ke penyimpanan dingin di latar belakang. Oleh karena itu, dibutuhkan waktu bagi ukuran penyimpanan dingin untuk berubah setelah batas dikonfigurasi atau dimodifikasi.

Contoh

  • Buat basis data bernama DB5 dan atur batas data panas dan dingin menjadi 30 hari. Data yang telah disimpan di DB5 selama lebih dari 30 hari dipindahkan ke penyimpanan dingin.

    CREATE DATABASE DB5 WITH (cold_boundary=30);
  • Untuk basis data yang sudah ada, Anda dapat mengubah batas data panas dan dinginnya dengan memodifikasi parameter cold_boundary.

    ALTER DATABASE DB5 WITH (cold_boundary=30);

Buat tabel time series

Sebelum membuat tabel time series, Anda harus membuat model data untuk tabel tersebut dan menentukan kolom tag, timestamp, serta field dalam tabel. Secara umum, LindormTSDB menggunakan kolom tag untuk mencocokkan time series dalam query dan membuat indeks terbalik untuk setiap kolom tag.

Selain itu, Anda dapat menggunakan kunci utama tabel sebagai kunci partisi. LindormTSDB mempartisi data menggunakan kunci partisi dan merutekan data ke node penyimpanan yang berbeda berdasarkan hash data. Jika kondisi yang ditentukan dalam query cocok dengan kunci partisi, LindormTSDB hanya menanyakan data pada node yang sesuai alih-alih memindai data di semua node. Kami sarankan Anda menggunakan kolom yang berisi nilai unik sebagai kunci utama, seperti ID perangkat dalam skenario Internet of Things (IoT).

Untuk informasi lebih lanjut, lihat Model Data dan Desain Tabel Time Series.

Contoh

  • Buat tabel contoh bernama sensor.

    CREATE TABLE sensor (
        device_id VARCHAR TAG,
        region VARCHAR TAG,
        time   TIMESTAMP,
        temperature DOUBLE,
        humidity DOUBLE);
  • Buat tabel yang menyimpan informasi sensor dan tentukan kolom device_id sebagai kunci utama.

    CREATE TABLE sensor (
        device_id VARCHAR TAG,
        region VARCHAR TAG,
        time   TIMESTAMP,
        temperature DOUBLE,
        humidity DOUBLE,
        PRIMARY KEY(device_id));

Pembuatan tabel otomatis

LindormTSDB menyediakan tiga jenis kebijakan batasan skema: batasan kuat, batasan lemah, dan tanpa batasan. Anda dapat menentukan kebijakan batasan skema saat Anda menulis data menggunakan Lindorm native SDK for Java, protokol baris InfluxDB, atau model data multi-nilai yang kompatibel dengan API TSDB. Dalam skenario di mana kebijakan batasan lemah ditentukan, LindormTSDB secara otomatis membuat tabel atau kolom ketika tabel atau kolom tempat Anda ingin menulis data tidak ada, atau memverifikasi tipe data kolom tempat Anda ingin menulis data ketika kolom tersebut ada. Untuk informasi lebih lanjut, lihat Kebijakan Batasan untuk Skema.

Model data nilai tunggal dan multi-nilai

Nilai tunggal yang ditulis ke tabel menggunakan protokol OpenTSDB atau API TSDB disimpan menggunakan model nilai tunggal. LindormTSDB tidak membuat tabel untuk data nilai tunggal. LindormTSDB mengoptimalkan penyimpanan bawah untuk data multi-nilai demi efisiensi pembacaan data. Selain itu, LindormTSDB secara otomatis membuat tabel untuk data multi-nilai meskipun kebijakan batasan lemah ditentukan. Oleh karena itu, kami sarankan Anda menggunakan model data multi-nilai untuk menyimpan data.