Timestamp, tag, field â dan kenapa database IoT bukan database biasa.
| Bagian | Peran | Contoh |
|---|---|---|
| Timestamp | Kapan kejadian terjadi | 2026-09-10 08:30:00 |
| Measurement | Apa yang diukur | suhu, daya, posisi |
| Tag | Metadata tetap untuk filter | ruang=kamar, gedung=A |
| Field | Nilai yang berubah | 27.5 °C |
Database umum (MySQL/PostgreSQL) bisa menyimpan data IoT, tapi TSDB dioptimasi untuk pola IoT: tulis sangat cepat, baca per rentang waktu, kompresi tinggi.
| TSDB | Karakter |
|---|---|
| InfluxDB | Populer, query language Flux/InfluxQL, ada versi cloud |
| TimescaleDB | Ekstensi PostgreSQL â SQL biasa, hiperscale |
| QuestDB | Sangat cepat untuk ingest + SQL |
| Prometheus | Standar monitoring infrastruktur (pull-based) |
Di simulator, TimeSeriesDB memberikan API yang mirip konsepnya:
Data mentah tiap 5 detik = 17.280 titik/hari per sensor. Untuk grafik "suhu rata-rata per jam", kita agregasi: kelompokkan ke bucket waktu, hitung mean/min/max/sum.
Pola storage bertingkat (piramida data) yang umum di produksi:
TimeSeriesDB(max_points=N) mensimulasikan retention:
saat melebihi N titik, data terlama dibuang otomatis.
suhu dan co2) dengan tag berbeda, lalu query masing-masing â pastikan tidak tercampur.max dan min per 30 detik untuk suhu. Apa bedanya dengan mean? Kapan max lebih bermakna? (Petunjuk: alarm.)TimeSeriesDB(max_points=10), tulis 15 titik, lalu cetak len(db.points) dan timestamp titik tertua. Berapa titik yang "terbuang"?