Topik ini menjelaskan cara mengembangkan aplikasi yang menggunakan Lindorm Time Series Database (LindormTSDB) untuk menyimpan data.
Prosedur
Secara umum, Anda dapat mengikuti langkah-langkah berikut untuk mengembangkan aplikasi yang menggunakan LindormTSDB.
1. Pilih SDK
Lindorm memungkinkan Anda menggunakan berbagai metode berbasis SQL untuk mengembangkan aplikasi yang perlu mengakses LindormTSDB.
Jika Anda menggunakan Java untuk mengembangkan aplikasi, Anda dapat menggunakan LindormTSDB SDK for Java atau driver JDBC untuk Lindorm. Untuk informasi lebih lanjut, lihat Java Native SDK dan Java JDBC Driver.
Kami merekomendasikan penggunaan LindormTSDB SDK for Java untuk mengembangkan aplikasi Anda. LindormTSDB SDK for Java memungkinkan aplikasi Anda mengakses LindormTSDB secara efisien dengan antarmuka yang mudah digunakan serta menyediakan fitur seperti manajemen koneksi tingkat bawah, penulisan data batch, dan mekanisme pengulangan kesalahan. Selain itu, pengkodean dalam transmisi data dioptimalkan untuk meningkatkan efisiensi penulisan data.
Jika Anda menggunakan bahasa pemrograman lain untuk mengembangkan aplikasi, Anda dapat menggunakan API SQL berbasis HTTP dari LindormTSDB dan protokol baris InfluxDB. Untuk informasi lebih lanjut, lihat Gunakan API SQL berbasis HTTP dari LindormTSDB dan Tulis data menggunakan protokol baris InfluxDB.
Kami merekomendasikan penggunaan protokol baris InfluxDB untuk menulis data ke LindormTSDB dan API SQL berbasis HTTP dari LindormTSDB untuk menanyakan data.
2. Buat model data
Sebelum membuat data deret waktu dan tabel, buatlah model data berdasarkan bisnis Anda untuk menentukan kolom tag, waktu, dan nilai dalam tabel. Kemudian, tentukan kunci utama tabel deret waktu berdasarkan karakteristik data dan distribusikan data ke shard yang berbeda. Untuk informasi lebih lanjut, lihat Model data.
LindormTSDB menyediakan tiga jenis kebijakan batasan skema: batasan kuat, batasan lemah, dan tanpa batasan. Pilih kebijakan sesuai dengan kebutuhan Anda. Untuk informasi lebih lanjut, lihat Batasan pada skema model deret waktu.
3. Tulis data ke LindormTSDB
Anda dapat menggunakan beberapa metode untuk menulis data ke Lindorm, seperti LindormTSDB SDK for Java, protokol baris InfluxDB, atau pernyataan SQL standar. LindormTSDB menyediakan tiga jenis kebijakan batasan skema: batasan kuat, batasan lemah, dan tanpa batasan. Jika Anda menggunakan LindormTSDB SDK for Java, protokol baris InfluxDB, atau operasi API yang kompatibel dengan Time Series Database (TSDB) untuk menulis data ke LindormTSDB, Anda dapat mengatur kebijakan batasan skema menjadi batasan lemah. Dalam hal ini, LindormTSDB secara otomatis membuat tabel dalam skenario tanpa skema. Pilih metode untuk menulis data berdasarkan kebutuhan Anda.
4. Kueri data di LindormTSDB
LindormTSDB memungkinkan Anda mengakses data deret waktu menggunakan pernyataan SQL standar. Selain itu, LindormTSDB mengoptimalkan sintaks SQL untuk data deret waktu dan mendukung fitur spesifik seperti pengambilan sampel data, agregasi data, dan kueri nilai terbaru.
5. Lakukan kueri berkelanjutan
Kueri berkelanjutan cocok untuk skenario data besar. Anda dapat membuat kueri berkelanjutan untuk pra-agregasi data yang baru ditulis. Dengan cara ini, jumlah data yang dikueri secara real-time berkurang dan latensi kueri menurun.
6. Lakukan pra-pengambilan sampel
Pra-pengambilan sampel cocok untuk kueri data dalam rentang waktu yang lama. Data diambil sampelnya berdasarkan aturan yang ditentukan saat ditulis ke LindormTSDB. Saat data yang telah diambil sampelnya dikueri, jumlah data yang dikueri berkurang untuk menurunkan latensi kueri.
Prosedur untuk pengembangan aplikasi yang menggunakan OpenTSDB atau TSDB untuk menyimpan data
LindormTSDB kompatibel dengan operasi API dari OpenTSDB dan TSDB. Anda dapat mengikuti langkah-langkah berikut untuk memigrasikan mesin database yang digunakan oleh aplikasi Anda dari OpenTSDB atau TSDB ke LindormTSDB:
Adaptasi aplikasi untuk LindormTSDB
Ganti titik akhir OpenTSDB atau TSDB dengan titik akhir LindormTSDB dalam kode aplikasi. Untuk informasi lebih lanjut tentang cara memperoleh titik akhir LindormTSDB, lihat Peroleh titik akhir.
Modifikasi aplikasi berdasarkan kemampuan LindormTSDB.
Aplikasi yang dikembangkan berdasarkan operasi API berbasis HTTP: Operasi API berbasis HTTP yang disediakan oleh LindormTSDB pada dasarnya kompatibel dengan operasi API yang disediakan oleh TSDB. Untuk informasi lebih lanjut, lihat Ikhtisar API HTTP.
Aplikasi Java yang dikembangkan menggunakan SDK untuk TSDB: LindormTSDB kompatibel dengan 90% kemampuan yang disediakan oleh TSDB. Anda dapat langsung menggunakan aplikasi Anda untuk mengakses LindormTSDB tanpa modifikasi.
Aplikasi yang menggunakan model multi-nilai untuk menulis data: Secara default, data ditulis ke database bernama default di LindormTSDB. Kebijakan batasan skema default di LindormTSDB adalah tanpa batasan, yang menunjukkan bahwa tabel deret waktu tidak dibuat secara otomatis di LindormTSDB. Untuk menggunakan pernyataan SQL untuk menanyakan data di LindormTSDB, Anda dapat secara manual membuat tabel deret waktu atau mengatur kebijakan batasan skema menjadi batasan lemah. LindormTSDB menyediakan fitur berbasis SQL yang spesifik untuk data deret waktu dan mengoptimalkan kinerja kueri SQL untuk data deret waktu. Kami merekomendasikan penggunaan pernyataan SQL untuk menanyakan data di LindormTSDB.
Aplikasi yang menggunakan OpenTSDB atau model single-nilai untuk menulis data: Kebijakan batasan skema default di LindormTSDB adalah tanpa batasan, yang menunjukkan bahwa tabel deret waktu tidak dapat dibuat secara otomatis di LindormTSDB. Oleh karena itu, aplikasi ini tidak dapat menggunakan pernyataan SQL untuk menanyakan data di LindormTSDB.
Hubungkan aplikasi ke LindormTSDB untuk melakukan debugging dan pengujian, lalu rilis aplikasi setelah aplikasi lulus semua tes.
Migrasi data aplikasi
Data di TSDB dapat sepenuhnya dimigrasi ke LindormTSDB. Untuk informasi lebih lanjut, lihat Migrasi semua data dari TSDB ke LindormTSDB.
Prosedur untuk pengembangan aplikasi yang menggunakan Prometheus
LindormTSDB mendukung antarmuka tulis jarak jauh dan baca jarak jauh untuk penyimpanan jarak jauh dan mendukung sintaks PromQL asli untuk kueri. Untuk informasi lebih lanjut, lihat Gunakan Prometheus untuk terhubung dan menggunakan LindormTSDB.
Prosedur untuk pengembangan aplikasi yang menggunakan InfluxDB
Anda dapat menggunakan protokol baris InfluxDB untuk menulis data ke LindormTSDB. Untuk informasi lebih lanjut, lihat Referensi protokol baris.