Mengikuti perjalanan telemetry setelah masuk cloud: ingestion, streaming, dan storage. Memahami pola pipeline data IoT dari device ke analitik, memilih storage yang tepat, mendesain skema telemetry, serta praktik membangun pipeline dengan rule engine dan time series database.

Perangkat kalian sudah mengirim telemetry ke cloud di episode 7. Pertanyaan besarnya: setelah sampai, datanya mau diapakan? Di sinilah pipeline data bekerja — mengubah arus pesan mentah menjadi data yang bisa dianalisis, dimonitor, dan diambil keputusan.
Mengapa pipeline penting? IoT menghasilkan data dalam volume besar dan terus-menerus. Tanpa pipeline yang benar, data akan: hilang saat lonjakan, tersimpan mentah tanpa metadata, atau menumpuk dengan biaya penyimpanan yang membengkak. Pipeline yang baik menjawab tiga pertanyaan: bagaimana data masuk, bagaimana mengalir, dan di mana disimpan.
Pipeline klasik IoT memiliki tahapan:
Telemetry IoT punya dua kebutuhan penyimpanan yang bertolak belakang:
| Kebutuhan | Hot Storage | Cold Storage |
|---|---|---|
| Latency akses | Milidetik–detik | Menit–jam |
| Volume | Kecil, data terkini | Masif, arsip historis |
| Biaya | Mahal per GB | Murah per GB |
| Contoh | InfluxDB, TimescaleDB, Redis | S3, Glacier, BigQuery |
Pola standar: data masuk ke hot storage untuk query cepat dan dashboard, lalu data yang sudah tua di-archived ke cold storage untuk kepatuhan dan analitik historis. Aturan praktis: simpan granular penuh hanya beberapa minggu, lalu turunkan resolusi (downsampling) dan arsipkan.
Sebelum membangun pipeline, desain dulu skema datanya. Telemetry IoT punya tiga bagian penting: identitas, nilai, dan waktu.
{
"device_id": "ruang-01",
"site": "jakarta-utara",
"sensor_type": "bme280",
"values": {
"temperature": 26.5,
"humidity": 61.0,
"pressure": 1009.2
},
"ts": 1786900000,
"seq": 1042
}Aturan desain skema:
ts dihasilkan di perangkat, bukan di platform; koneksi yang lambat membuat waktu tiba ≠ waktu ukur.temperature_c).Kita bangun pipeline: ESP32 → AWS IoT Core → Rule → InfluxDB. Aturan (rule) di AWS memakai SQL:
SELECT
deviceid AS device_id,
temperature,
humidity,
timestamp() AS ts
FROM 'sensor/+/telemetry'
WHERE temperature IS NOT NULLRule ini memvalidasi: hanya pesan yang punya temperature yang diteruskan. Action rule dikirim ke Amazon Timestream (time series native AWS) atau ke Lambda yang menulis ke InfluxDB/self-managed. Untuk belajar lokal, kita pakai InfluxDB:
services:
influxdb:
image: influxdb:2.7
ports:
- "8086:8086"
environment:
DOCKER_INFLUXDB_INIT_MODE: setup
DOCKER_INFLUXDB_INIT_USERNAME: admin
DOCKER_INFLUXDB_INIT_PASSWORD: admin123
DOCKER_INFLUXDB_INIT_ORG: iot-lab
DOCKER_INFLUXDB_INIT_BUCKET: telemetrydocker compose up -dSetiap telemetry masuk, data ditulis sebagai point InfluxDB — kombinasi measurement, tag, dan field:
influx query 'from(bucket: "telemetry")
|> range(start: -1h)
|> filter(fn: (r) => r._measurement == "environment")
|> filter(fn: (r) => r._field == "temperature")'_result: environment,host=ruang-01 _field=temperature 26.5 2026-08-16T04:10:00Z
_result: environment,host=ruang-01 _field=temperature 26.9 2026-08-16T04:11:00ZKetika volume besar, jangan tulis langsung ke storage dari rule. Selipkan queue/streaming sebagai buffer:
IoT Platform → SQS/Kafka → Consumer (batch) → InfluxDB/S3Buffer menyerap lonjakan — jika InfluxDB melambat, pesan menunggu di queue, tidak hilang. Backpressure (tekanan balik) adalah mekanisme yang memberi tahu hulu untuk memperlambat saat hilir kewalahan. Di episode 12 dan 21 kita bahas scaling pipeline lebih dalam.
Important
Aturan pipeline: validasi di pintu masuk, normalisasi di tengah, storage di akhir. Jangan menyimpan data mentah tanpa validasi — nanti dashboard menampilkan nilai aneh dan kalian tidak tahu dari mana asalnya. Validasi paling murah dilakukan saat data pertama kali masuk.
temp, perangkat lain temperature; normalkan di pipeline.Inti yang harus dibawa pulang:
Di episode 9 selanjutnya, kita akan mengelola perangkat dari jarak jauh: device management — provisioning, OTA update, dan fleet management — plus praktik memperbarui firmware perangkat secara over-the-air. Perangkat kalian akan bisa "dioperasi" tanpa kabel!