Mengenal Sedikit tentang InfluxDB

Indah Tri Apriliani
2 min readJun 25, 2020

--

InfluxDB merupakan sebuah time-series database open source yang dikembangkan oleh InfluxData. InfluxDB biasa digunakan untuk menyetor data-data time-stamped secara masif, seperti DevOps monitoring, log data, application metrics, IoT sensor data, dan real-time analytics. InfluxDB berbasis Push system, yang berarti aplikasi perlu mendorong data kepada sistem monitoring. InfuxDB memiliki model data yang terdapat key-value sebagai label, yang disebut tags dan fields sebagai second level of labels data. InfluxDB support timestamps data sampai ke resolusi nanosecond, serta InfluxDB support tipe data float64, int64, bool, dan string.

Sistem kerja InfluxDB

InfluxDB dibuat untuk menangani penulisan data dan query muatan yang masif atau tinggi. InfluxDB menggunakan HTTP Representational State Transfer (REST) API untuk proses query data dan menggunakan bahasa SQL-like query language atau biasa dikenal dengan InfluxQL. InfluxDB menggunakan sebuah Time Structured Merge (TSM) storage engine agar proses kompresi data lebih efektif.

  • Model Data InfluxDB

Pada InfluxDB terdapat beberapa struktur data berbasis JSON, contohnya adalah sebagai berikut.

json_data = [
{

“measurement”: Humidity

“time”: timestamp,
“tags”: {

“Station”:

station_name

},

“fields”: {
“value”: value

yang akan dimasukkan kedalam database

}
}

]

Pada bagian “measurement” diisi dengan nama pengukuran yang akan dimasukkan ke dalam database InfluxDB. Dalam hal ini misalkan nama measurementnya Humidity, nama measurement disarankan diisi dengan sebuah nama yang identik dengan hal yang diukur. Kemudian bagian berikutnya ada istilah “time”, bagian ini merupakan penanda kedatangan data dengan keterangan waktu.

Selanjutnya ada “tags” dan “field”. Pada “tags” dan “field” masing-masing terdapat komponen key dan value, di mana pada key akan berisikan nama-nama penanda baik “tags” maupun “field”, sedangkan value merupakan nilainilai yang diisikan pada masing-masing key. Perbedaan antar “tags” dan “field” adalah, pada “fields” value akan lebih variatif nilainya dibandingkan dengan value pada ”tags”, misalkan jika dibandingkan, pada “fields” dengan key “temperatur” dan value-nya akan diisikan nilai dari temperatur ruang, sedangkan jika pada “tags” dengan key “Battery Station (BS)” dan value-nya akan diisikan dengan nomor ruang Battery Station (1, 2, dst), tentu value “fields” akan lebih variatif dibandingkan dengan “tags”. Sehingga hal ini mengakibatkan proses query pada “tags” lebih cepat dibandingkan pada “fields”.

Contoh penyajian data pada InfluxDB

--

--

No responses yet