Pada Level 12, kita telah membahas berbagai platform IoT dan cloud, seperti AWS IoT, Azure IoT, ThingsBoard, Blynk, dan Node-RED.
Namun ada satu pertanyaan penting yang belum kita jawab:
Setelah sensor mengirimkan data ke platform IoT, data tersebut disimpan di mana?
Bayangkan sebuah sensor temperatur membaca data setiap 5 detik.
Dalam satu menit saja kita mendapatkan:
10:00:00 → 28.5°C
10:00:05 → 28.7°C
10:00:10 → 28.8°C
10:00:15 → 29.0°C
...
Jika hanya ada satu sensor, jumlah data mungkin terlihat kecil.
Tetapi bagaimana jika terdapat:
1.000 device × 10 sensor/device × 1 data/5 detik
Dalam waktu singkat, sistem dapat menghasilkan jumlah data yang sangat besar.
Karena itu, sistem IoT membutuhkan mekanisme yang mampu:
- menerima data sensor;
- menyimpan data;
- mengorganisasi data;
- mencari data tertentu;
- mengolah data;
- mempertahankan histori;
- membuat agregasi;
- dan menampilkan data dalam bentuk yang mudah dipahami.
Di sinilah database IoT menjadi sangat penting, ini adalah Level 13 dari Kurikulum Internet of Things Raja Putra Media tentang bagaimana mengenali time-series database, SQL, NoSQL, InfluxDB, dan arsitektur data IoT.
Apa Itu Database IoT?
Database IoT adalah sistem penyimpanan data yang digunakan untuk menyimpan, mengelola, mengambil, dan memproses data yang dihasilkan oleh perangkat Internet of Things.
Secara sederhana:
Sensor → ESP32 → Network → IoT Platform → Database → Query / Processing → Dashboard
Database menjadi tempat di mana data sensor dapat disimpan sehingga tidak hilang setelah dikirim oleh perangkat.
Misalnya:
Device: ESP32-001
Sensor: Temperature
Value: 29.5
Unit: °C
Timestamp: 2026-08-21 10:00:00
Data tersebut kemudian dapat digunakan kembali untuk:
- melihat kondisi saat ini;
- membuat grafik;
- menghitung rata-rata;
- mendeteksi anomali;
- membuat laporan;
- melakukan analisis historis;
- dan mengambil keputusan.
Mengapa Database Sangat Penting dalam IoT?
IoT bukan hanya tentang mengambil data.
Nilai sebenarnya muncul ketika data tersebut dapat digunakan.
Perhatikan perbedaan berikut.
Tanpa database
Sensor
↓
Data
↓
Ditampilkan
Data hanya terlihat saat itu.
Dengan database
Sensor → Data → Database → Historical Data → Analytics → Dashboard → Decision
Sekarang kita dapat mengetahui:
"Berapa rata-rata temperatur selama 30 hari terakhir?"
atau:
"Kapan temperatur mencapai titik tertinggi?"
atau:
"Apakah konsumsi energi meningkat dibandingkan minggu sebelumnya?"
Pertanyaan seperti inilah yang membuat database sangat penting dalam sistem IoT.
Karakteristik Data IoT
Sebelum memilih database, kita perlu memahami karakteristik data IoT.
Data IoT biasanya memiliki beberapa karakteristik berikut.
1. Memiliki Timestamp
Hampir setiap data sensor berkaitan dengan waktu.
Contoh:
10:00:01 → 28.5°C
10:00:02 → 28.6°C
10:00:03 → 28.6°C
Karena itu, waktu merupakan elemen fundamental dalam data IoT.
2. Datang Secara Terus-Menerus
Sensor biasanya menghasilkan data secara periodik.
Misalnya:
Every 1 second
Every 5 seconds
Every 1 minute
Artinya database harus mampu menerima continuous data ingestion.
3. Jumlah Data Bisa Sangat Besar
Satu sensor mungkin hanya menghasilkan sedikit data.
Tetapi:
10.000 device × 10 sensor × data setiap menit
akan menghasilkan jutaan record.
Karena itu, database IoT harus dirancang dengan mempertimbangkan scalability.
4. Data Sering Berbentuk Time-Series
Data sensor biasanya dapat direpresentasikan sebagai:
Timestamp + Value
Misalnya:
10:00 → 29.1°C
10:01 → 29.3°C
10:02 → 29.7°C
Inilah alasan time-series database sangat relevan dalam sistem IoT.
Apa Itu Time-Series Database?
Time-series database (TSDB) adalah database yang dioptimalkan untuk menyimpan dan mengambil data yang memiliki dimensi waktu.
Struktur sederhananya:
Timestamp Temperature
----------------------------
10:00:00 28.5
10:00:05 28.7
10:00:10 28.8
Data seperti ini sangat umum dalam IoT.
Selain temperatur, time-series data dapat digunakan untuk:
- humidity;
- pressure;
- voltage;
- current;
- energy consumption;
- GPS position;
- vibration;
- CPU usage;
- water level;
- air quality.
Mengapa Time-Series Database Cocok untuk IoT?
Bayangkan kita memiliki sensor yang mengirim data setiap detik.
Kita mungkin ingin melakukan query:
"Tampilkan temperatur antara pukul 08:00 dan 12:00."
Atau:
"Hitung rata-rata temperatur setiap 5 menit."
Atau:
"Tampilkan nilai maksimum selama 24 jam."
Query berbasis waktu seperti ini merupakan pola yang sangat umum dalam IoT.
Karena itu, database yang dioptimalkan untuk workload time-series dapat memberikan pendekatan yang lebih sesuai dibandingkan menggunakan database secara sembarangan.
SQL Database untuk IoT
Database relasional seperti PostgreSQL atau MySQL juga dapat digunakan untuk menyimpan data IoT.
Misalnya kita membuat tabel:
sensor_data
id
device_id
sensor_type
value
unit
timestamp
Contohnya:
| id | device_id | sensor | value | unit | timestamp |
|---|---|---|---|---|---|
| 1 | ESP32-001 | temperature | 28.5 | °C | 10:00:00 |
| 2 | ESP32-001 | temperature | 28.7 | °C | 10:00:05 |
| 3 | ESP32-001 | temperature | 28.8 | °C | 10:00:10 |
Pendekatan ini mudah dipahami dan sangat berguna untuk belajar konsep database.
Kapan SQL Cocok untuk IoT?
Database SQL dapat menjadi pilihan ketika sistem membutuhkan:
- relational data;
- transaksi;
- hubungan antar-entitas;
- query kompleks;
- integritas data;
- metadata perangkat;
- user management;
- configuration data.
Misalnya:
Users → Devices → Sensors → Sensor Data
Hubungan seperti ini sangat cocok dengan model relational database.
Contoh Struktur Database IoT
Kita dapat membagi data menjadi beberapa tabel:
USERS
│
├── user_id
├── name
DEVICES
│
├── device_id
├── device_name
└── location
SENSORS
│
├── sensor_id
├── device_id
├── type
└── unit
TELEMETRY
│
├── sensor_id
├── value
└── timestamp
Struktur tersebut memungkinkan kita memisahkan:
- siapa pemilik perangkat;
- perangkat apa yang digunakan;
- sensor apa yang terpasang;
- dan data apa yang dihasilkan.
NoSQL Database untuk IoT
Selain SQL, sistem IoT juga dapat menggunakan pendekatan NoSQL.
NoSQL memiliki berbagai model, termasuk:
- document database;
- key-value;
- wide-column;
- graph database.
Untuk IoT, NoSQL dapat berguna ketika data memiliki struktur yang fleksibel atau membutuhkan scalability tertentu.
Misalnya data perangkat:
</> JSON
{
"device_id": "ESP32-001",
"location": "Room A",
"temperature": 29.5,
"humidity": 71,
"battery": 87
}
Struktur seperti ini dapat berkembang tanpa harus selalu mengikuti skema tabel tradisional.
SQL vs NoSQL untuk IoT
Perbandingan sederhananya:
| Aspek | SQL | NoSQL |
|---|---|---|
| Struktur | Relasional | Fleksibel |
| Schema | Lebih terstruktur | Dapat lebih fleksibel |
| Relationship | Sangat kuat | Bergantung jenis database |
| Query relasional | Sangat baik | Bervariasi |
| Scalability | Bisa sangat baik | Sering dirancang untuk horizontal scaling |
| Cocok untuk | Data terstruktur | Data yang lebih fleksibel/skala tertentu |
Tidak berarti NoSQL selalu lebih baik daripada SQL.
Pemilihannya bergantung pada workload, model data, kebutuhan query, dan arsitektur sistem.
Database IoT Tidak Harus Hanya Satu
Dalam sistem nyata, kita tidak harus menggunakan satu database untuk semua kebutuhan.
Misalnya:
IoT System
│
┌──────────┴──────────┐
↓ ↓
Device Metadata Sensor Telemetry
↓ ↓
SQL DB Time-Series DB
Database SQL dapat menyimpan:
Device
User
Location
Configuration
Sedangkan time-series database menyimpan:
Temperature
Humidity
Pressure
Energy
Pendekatan seperti ini dapat membuat arsitektur lebih sesuai dengan karakteristik masing-masing data.
Contoh Database untuk IoT
Ada berbagai teknologi database yang dapat digunakan dalam sistem IoT.
Beberapa yang sering dijumpai antara lain:
- PostgreSQL;
- MySQL;
- MongoDB;
- InfluxDB;
- TimescaleDB;
- Redis;
- dan berbagai database cloud.
Namun masing-masing memiliki tujuan dan karakteristik berbeda.
InfluxDB untuk IoT
InfluxDB merupakan database yang berfokus pada time-series data.
Konsep dasarnya sangat cocok dengan data sensor:
Measurement
Tags
Fields
Timestamp
Misalnya:
temperature
device=ESP32-001
value=29.5
time=10:00:00
Data seperti ini dapat digunakan untuk membuat grafik historis.
InfluxDB juga memiliki ekosistem yang dirancang untuk ingest, query, dan visualisasi data time-series.
TimescaleDB
TimescaleDB merupakan extension untuk PostgreSQL yang dirancang untuk workload time-series.
Ini menarik karena kita dapat menggabungkan:
PostgreSQL + Time-Series
Dengan demikian, developer yang sudah familiar dengan PostgreSQL dapat memanfaatkan konsep relational database sekaligus fitur yang ditujukan untuk data berbasis waktu.
MongoDB untuk Data IoT
MongoDB menggunakan model document.
Misalnya:
</> JSON
{
"device": "ESP32-001",
"timestamp": "2026-08-21T10:00:00Z",
"data": {
"temperature": 29.5,
"humidity": 72,
"pressure": 1012
}
}
Model seperti ini dapat berguna ketika payload perangkat memiliki struktur yang beragam.
Namun, lagi-lagi, pilihan database harus ditentukan berdasarkan kebutuhan workload, bukan sekadar karena database tersebut populer.
Bagaimana Data Sensor Masuk ke Database?
Sekarang kita masuk ke bagian yang sangat penting.
Sensor biasanya tidak langsung menulis ke database.
Arsitektur yang lebih umum adalah:
Sensor
↓
Microcontroller
↓
Network
↓
MQTT / HTTP
↓
IoT Platform / Backend
↓
Database
Misalnya:
DHT22 → ESP32 → Wi-Fi → MQTT → MQTT Broker → Backend → InfluxDB
Kemudian dashboard membaca data:
InfluxDB
↓
Dashboard
↓
Grafik
Mengapa Sensor Tidak Langsung Terhubung ke Database?
Ada beberapa alasan.
Pertama adalah security.
Kita tidak ingin database terbuka langsung kepada semua perangkat.
Kedua adalah data validation.
Backend dapat memeriksa apakah data yang masuk valid.
Ketiga adalah transformation.
Misalnya:
Raw Data → Convert Unit → Validate → Store
Keempat adalah scalability.
Backend atau message broker dapat membantu menangani banyak perangkat.
Arsitektur Database IoT
Arsitektur sederhananya:
┌──────────────┐
│ Sensor │
└──────┬───────┘
↓
┌──────────────┐
│ ESP32 / MCU │
└──────┬───────┘
↓
┌──────────────┐
│ Wi-Fi / 4G │
└──────┬───────┘
↓
┌──────────────┐
│ MQTT / HTTP │
└──────┬───────┘
↓
┌──────────────┐
│ Backend / │
│ IoT Platform │
└──────┬───────┘
↓
┌──────────────┐
│ Database │
└──────┬───────┘
↓
┌──────────────┐
│ Dashboard │
└──────────────┘
Ini merupakan salah satu pola dasar yang perlu dipahami sebelum masuk ke arsitektur IoT tingkat lanjut.
Data Ingestion: Pintu Masuk Data IoT
Data ingestion adalah proses menerima data dari perangkat untuk diproses dan disimpan.
Misalnya ESP32 mengirim:
</> JSON
{
"device_id": "ESP32-001",
"temperature": 29.5,
"humidity": 72
}
Backend menerima payload tersebut.
Kemudian:
Receive → Validate → Transform → Store
Jika valid:
Database → Success
Jika tidak valid:
Reject / Log
Contoh Data Sensor
Misalnya sistem monitoring ruangan menghasilkan:
Device: ESP32-001
10:00 → 28.5°C
10:01 → 28.7°C
10:02 → 29.0°C
10:03 → 29.2°C
Data tersebut kemudian dapat digunakan untuk menghitung:
Minimum
28.5°C
Maximum
29.5°C
Average
28.98°C
Tetapi kita tidak hanya dapat menghitung statistik sederhana.
Kita juga dapat melakukan:
- trend analysis;
- anomaly detection;
- threshold detection;
- forecasting;
- correlation;
- alerting.
Dari Data Mentah Menjadi Informasi
Ini adalah konsep penting dalam IoT.
Data:
29.5
29.7
30.1
31.2
Data tersebut belum memberikan konteks yang cukup.
Setelah diolah:
Temperature meningkat 3°C dalam 10 menit terakhir.
Sekarang data menjadi informasi.
Kemudian sistem dapat mengambil tindakan:
Temperature > 32°C
↓
Trigger Alert
↓
Turn Fan ON
Inilah hubungan antara:
Data → Information → Decision → Action
Data Aggregation
Sistem IoT sering menghasilkan data dalam jumlah besar.
Kita tidak selalu membutuhkan setiap titik data untuk ditampilkan.
Misalnya sensor mengirim data setiap 1 detik:
60 data / menit
Dashboard mungkin cukup menampilkan:
Average / minute
Atau:
Average / 5 minutes
Atau:
Maximum / hour
Proses ini disebut data aggregation.
Contohnya:
Raw Data → 60 values → Average → 1 value
Dengan demikian, dashboard dapat menjadi lebih efisien.
Mengapa Data Aggregation Penting?
Bayangkan:
10.000 devices × 1 data / second
Sistem menghasilkan:
10.000 data/second
Jika semua data tersebut ditampilkan mentah pada dashboard, hasilnya tidak efisien dan sulit dibaca.
Kita dapat mengubahnya menjadi:
Per second → Raw data
Per minute → Average
Per hour → Summary
Per day → Report
Pendekatan tersebut membantu mengurangi beban pemrosesan dan membuat visualisasi lebih bermakna.
Retention Data
Data IoT dapat terus bertambah.
Karena itu kita perlu menentukan:
Berapa lama data harus disimpan?
Misalnya:
Raw Data
→ 30 hari
Aggregated Data
→ 1 tahun
Daily Summary
→ 5 tahun
Tidak semua data harus disimpan selamanya dalam bentuk mentah.
Strategi retention bergantung pada:
- kebutuhan bisnis;
- regulasi;
- biaya storage;
- kebutuhan analitik;
- kebutuhan audit.
Data Lifecycle pada IoT
Kita dapat menggambarkan lifecycle data:
Sensor → Generate → Transmit → Ingest → Validate → Store → Process → Aggregate → Visualize → Archive / Delete
Ini merupakan konsep penting dalam IoT data management.
Bagaimana Data IoT Divisualisasikan?
Data yang tersimpan di database belum otomatis mudah dipahami manusia.
Kita membutuhkan data visualization.
Misalnya data temperatur:
28.5
28.7
29.1
29.5
30.2
31.0
Dapat ditampilkan menjadi grafik:
Temperature
32 ┤
31 ┤ ╭─●
30 ┤ ╭───╯
29 ┤ ╭─────╯
28 ┤ ●──╯
└──────────────────
Time →
Sekarang kita langsung dapat melihat bahwa temperatur meningkat.
Jenis Visualisasi Data IoT
Beberapa bentuk visualisasi yang umum digunakan adalah:
Line Chart
Cocok untuk:
- temperatur;
- humidity;
- pressure;
- energy;
- sensor value dari waktu ke waktu.
Gauge
Cocok untuk:
Temperature: 29.5°C
atau:
Battery: 78%
Bar Chart
Cocok untuk membandingkan:
Energy Usage
Room A → 120 kWh
Room B → 95 kWh
Room C → 145 kWh
Heatmap
Cocok untuk melihat pola berdasarkan waktu dan lokasi.
Map
Sangat berguna untuk:
- GPS;
- fleet tracking;
- smart city;
- logistics.
Dashboard IoT
Dashboard merupakan interface yang memungkinkan manusia melihat kondisi sistem.
Contoh sederhana:
┌─────────────────────────────────────┐
│ IoT MONITORING │
├──────────────┬──────────────────────┤
│ Temperature │ 29.5°C │
│ │ │
├──────────────┼──────────────────────┤
│ Humidity │ 72% │
│ │ │
├──────────────┴──────────────────────┤
│ │
│ Temperature History │
│ ╭────╮ │
│ ─────╯ ╰──────╮ │
│ ╰── │
└─────────────────────────────────────┘
Dashboard dapat digunakan untuk:
- monitoring real-time;
- historical analysis;
- alert;
- device status;
- reporting.
Tools untuk Visualisasi Data IoT
Ada banyak pilihan teknologi untuk membuat dashboard.
Beberapa yang populer antara lain:
- Grafana;
- ThingsBoard;
- Blynk;
- Node-RED Dashboard;
- aplikasi web custom;
- dashboard dari cloud platform.
Pemilihannya bergantung pada arsitektur.
Misalnya:
ESP32 → MQTT → InfluxDB → Grafana
Ini merupakan pola yang menarik untuk proyek monitoring.
Contoh Arsitektur ESP32 + MQTT + InfluxDB + Grafana
Kita dapat membuat sistem seperti:
┌────────────┐
│ DHT22 │
└─────┬──────┘
↓
┌────────────┐
│ ESP32 │
└─────┬──────┘
↓
MQTT
↓
┌────────────┐
│ MQTT Broker│
└─────┬──────┘
↓
┌────────────┐
│ Telegraf │
│ / Backend │
└─────┬──────┘
↓
┌────────────┐
│ InfluxDB │
└─────┬──────┘
↓
┌────────────┐
│ Grafana │
└────────────┘
Data bergerak dari sensor hingga menjadi grafik.
Apa Peran Grafana?
Grafana adalah platform observability dan visualization yang dapat mengambil data dari berbagai sumber dan menyajikannya dalam dashboard.
Dalam konteks IoT, Grafana dapat digunakan untuk:
- grafik sensor;
- monitoring;
- historical data;
- alert;
- dashboard real-time;
- analisis tren.
Misalnya:
InfluxDB → Grafana → Temperature Chart
atau:
PostgreSQL → Grafana → Energy Dashboard
Real-Time vs Historical Data
Database IoT harus mampu mendukung dua kebutuhan yang berbeda.
Real-Time
Pertanyaan:
"Berapa temperatur sekarang?"
29.5°C
Historical
Pertanyaan:
"Bagaimana temperatur selama 30 hari terakhir?"
Day 1 → 27°C
Day 2 → 28°C
...
Day 30 → 30°C
Keduanya penting.
Real-time digunakan untuk:
- monitoring;
- control;
- alert.
Historical data digunakan untuk:
- analisis;
- laporan;
- forecasting;
- maintenance;
- optimasi.
Real-Time Data Pipeline
Contoh pipeline:
Sensor → ESP32 → MQTT → Broker → Processing → Database → Dashboard
Jika kita membutuhkan respons cepat:
Temperature > 35°C
↓
Alert
↓
Fan ON
Data tidak harus menunggu analisis historis.
Historical Data Pipeline
Untuk analisis:
Database → Query → Aggregation → Analytics → Visualization
Misalnya:
30 Days Data
↓
Daily Average
↓
Trend
↓
Report
Edge Database vs Cloud Database
Tidak semua data harus langsung dikirim ke cloud.
Pada beberapa sistem, data dapat disimpan terlebih dahulu di edge.
Contohnya:
Sensor → ESP32 → Gateway → Local Database → Cloud
Keuntungan pendekatan ini antara lain:
- tetap dapat bekerja saat internet terputus;
- mengurangi traffic;
- memungkinkan local processing;
- meningkatkan responsiveness.
Setelah koneksi kembali:
Local Data
↓
Sync
↓
Cloud Database
Contoh Sistem IoT Tanpa Cloud
Untuk pembelajaran, kita bahkan dapat membuat:
ESP32 → ↓Wi-Fi → Raspberry Pi → MQTT → InfluxDB → Grafana
Semua berada di jaringan lokal.
Ini merupakan proyek yang sangat bagus untuk memahami:
- MQTT;
- database;
- data ingestion;
- time-series;
- dashboard.
Contoh Sistem IoT dengan Cloud
Untuk skala lebih besar:
IoT Devices → Internet → Cloud IoT Platform → Data Processing → Cloud Database → Analytics → Dashboard
Kemudian:
10 Devices
↓
100 Devices
↓
1.000 Devices
↓
10.000 Devices
Arsitektur harus dirancang agar dapat berkembang.
Database IoT dan Security
Data sensor tidak selalu merupakan data sederhana.
Dalam sistem industri, data dapat berkaitan dengan:
- mesin;
- produksi;
- energi;
- lokasi;
- operasional perusahaan.
Karena itu keamanan harus diperhatikan.
Beberapa aspek penting:
Authentication
Siapa yang boleh mengirim data?
Authorization
Apa yang boleh dilakukan device atau user?
Encryption
Apakah data terlindungi saat dikirim?
Database Security
Siapa yang boleh membaca database?
Network Security
Bagaimana database dilindungi dari akses tidak sah?
Kesalahan Umum dalam Database IoT
Menyimpan Semua Data Selamanya
Storage akan terus bertambah.
Solusinya adalah retention policy dan aggregation.
Tidak Menggunakan Timestamp
Tanpa timestamp, kita kehilangan konteks waktu.
Untuk data IoT, ini sangat penting.
Semua Data Disimpan dalam Satu Tabel
Pada sistem yang kompleks, desain seperti ini dapat menjadi sulit dikelola.
Kita perlu mempertimbangkan:
Device
Sensor
Telemetry
Events
Alerts
Users
Mengirim Data Terlalu Sering
Misalnya sensor mengirim data:
100 kali/detik
padahal perubahan nilai hanya terjadi sedikit.
Frekuensi pengiriman perlu disesuaikan dengan kebutuhan.
Mengirim Semua Data Mentah ke Cloud
Tidak semua data harus dikirim.
Edge processing dapat digunakan untuk:
Raw Data → Filter → Aggregation → Cloud
Hal ini dapat menghemat bandwidth dan storage.
Bagaimana Memilih Database IoT?
Gunakan beberapa pertanyaan berikut.
Apakah data memiliki timestamp?
Jika sebagian besar data berupa:
value + timestamp
pertimbangkan time-series database.
Apakah membutuhkan relational data?
Jika sistem memiliki banyak relationship:
User
Device
Location
Organization
SQL dapat menjadi pilihan kuat.
Apakah schema sangat fleksibel?
Pertimbangkan NoSQL jika struktur data memang membutuhkan fleksibilitas.
Berapa volume data?
100 records/day
berbeda jauh dengan:
10 million records/day
Seberapa cepat data masuk?
Pertimbangkan:
Writes per second
Bagaimana pola query?
Apakah sistem sering melakukan:
WHERE timestamp BETWEEN...
Jika ya, time-series workload perlu diperhatikan.
Berapa lama data disimpan?
Retention policy harus dirancang sejak awal.
Arsitektur Database IoT yang Lebih Lengkap
Setelah menggabungkan materi Level 1 sampai Level 13, kita dapat membayangkan sistem IoT seperti ini:
┌───────────────┐
│ Dashboard │
└───────┬───────┘
↑
┌───────┴───────┐
│ Analytics │
└───────┬───────┘
↑
┌───────┴───────┐
│ Database │
└───────┬───────┘
↑
┌───────┴───────┐
│ IoT Platform │
└───────┬───────┘
↑
┌───────┴───────┐
│ MQTT / HTTP │
└───────┬───────┘
↑
┌───────┴───────┐
│ Network/Gateway│
└───────┬───────┘
↑
┌───────┴───────┐
│ ESP32 / Device│
└───────┬───────┘
↑
┌───────┴───────┐
│ Sensors │
└───────────────┘
Sekarang kita dapat melihat bahwa database bukan komponen yang berdiri sendiri.
Database merupakan bagian dari data pipeline IoT.
Contoh Mini Project Database IoT
Jika ingin mempraktikkan konsep Level 13, kita dapat membuat proyek:
Smart Temperature Monitoring
Hardware
ESP32
DHT22
Communication
Wi-Fi
MQTT
Backend
MQTT Broker
Database
InfluxDB
Visualization
Grafana
Arsitektur:
DHT22 → ESP32 → Wi-Fi → MQTT Broker → InfluxDB → Grafana
Dashboard dapat menampilkan:
Current Temperature
Current Humidity
24-Hour Chart
7-Day Average
Maximum Temperature
Minimum Temperature
Proyek sederhana ini sudah memperkenalkan kita pada konsep yang digunakan dalam banyak sistem monitoring IoT nyata.
Dari Database Menuju Data Analytics
Setelah data berhasil disimpan, kita dapat mulai melakukan analisis.
Misalnya:
Raw Data → Clean Data → Aggregated Data → Trend Analysis → Anomaly Detection → Prediction
Contohnya:
Temperature
28°C
29°C
30°C
31°C
Sistem dapat mendeteksi:
Temperatur mengalami kenaikan konsisten.
Kemudian:
Trend → Prediction → Potential Overheating → Alert
Di sinilah database mulai menjadi fondasi untuk IoT analytics dan bahkan AI/ML.
FAQ Database IoT
Apa itu database IoT?
Database IoT adalah sistem yang digunakan untuk menyimpan, mengelola, mengambil, dan memproses data yang dihasilkan oleh perangkat IoT.
Database apa yang cocok untuk IoT?
Tidak ada satu database yang cocok untuk semua proyek. SQL, NoSQL, dan time-series database dapat digunakan tergantung karakteristik data dan kebutuhan sistem.
Apa itu time-series database?
Time-series database adalah database yang dirancang untuk data yang memiliki dimensi waktu, seperti temperatur, humidity, tekanan, energi, dan telemetry perangkat.
Apakah MySQL bisa digunakan untuk IoT?
Bisa. MySQL dapat digunakan untuk menyimpan data IoT, terutama ketika sistem membutuhkan model relational. Namun untuk workload time-series berskala besar, teknologi yang lebih khusus dapat dipertimbangkan.
Apakah PostgreSQL cocok untuk IoT?
Bisa. PostgreSQL dapat digunakan untuk data IoT dan dapat dikombinasikan dengan teknologi yang dirancang untuk workload time-series.
Apa itu InfluxDB?
InfluxDB adalah database yang berfokus pada penyimpanan dan pengolahan data time-series, sehingga relevan untuk banyak jenis data sensor IoT.
Apa hubungan MQTT dengan database IoT?
MQTT merupakan protokol komunikasi, sedangkan database merupakan tempat penyimpanan data. MQTT dapat digunakan untuk membawa data dari perangkat menuju broker atau backend, kemudian data tersebut disimpan ke database.
Contohnya:
ESP32 → MQTT → Broker → Backend → Database
Apa fungsi Grafana dalam IoT?
Grafana dapat digunakan untuk memvisualisasikan data yang tersimpan pada berbagai sumber data dalam bentuk dashboard, grafik, panel, dan monitoring.
Apakah database harus berada di cloud?
Tidak. Database dapat berjalan:
- di microcomputer;
- server lokal;
- gateway;
- private cloud;
- public cloud;
- atau hybrid architecture.
Kesimpulan
Database IoT merupakan fondasi penting dalam pengelolaan data Internet of Things.
Perjalanan data sensor tidak berhenti ketika ESP32 mengirimkan data.
Alurnya dapat menjadi:
Sensor → Microcontroller → Network → MQTT / HTTP → IoT Platform / Backend → Database → Processing → Analytics → Visualization → Decision
Untuk memahami database IoT, setidaknya kita perlu mengenal beberapa konsep utama:
SQL untuk data relational dan terstruktur.
NoSQL untuk kebutuhan data yang lebih fleksibel dan pola scaling tertentu.
Time-Series Database untuk data yang sangat erat dengan timestamp.
Data Aggregation untuk mengurangi volume dan menghasilkan informasi yang lebih berguna.
Data Retention untuk menentukan berapa lama data perlu dipertahankan.
Visualization untuk mengubah data menjadi grafik, dashboard, dan informasi yang mudah dipahami.
Dan yang paling penting, kita harus memahami bahwa:
IoT bukan hanya tentang mengumpulkan data, tetapi bagaimana data tersebut disimpan, diolah, dianalisis, dan akhirnya digunakan untuk mengambil keputusan.
Pada tahap ini, kita sudah bergerak dari sekadar memahami device dan connectivity menuju pemahaman tentang data pipeline IoT. Begitu juga kita telah selesai mempelajari salah satu bagian yang sangat penting dalam membangun sistem Internet of Things pada Level 12 – Platform IoT dan Cloud: AWS IoT, Azure IoT, ThingsBoard, Blynk & Node-RED.
Namun semakin banyak data yang kita miliki, semakin besar pula tantangannya.
Bagaimana jika terdapat 10.000 perangkat yang mengirim data secara bersamaan?
Bagaimana sistem menangani jutaan pesan?
Bagaimana melakukan scaling tanpa membuat server menjadi bottleneck?
Bagaimana data diproses dengan cepat tanpa semuanya harus dikirim ke cloud?
Pertanyaan tersebut akan membawa kita ke level berikutnya.
Level 14 — Edge Computing untuk IoT: Memproses Data Lebih Dekat dengan Perangkat
Pada Level 14, kita akan membahas Edge Computing, yaitu pendekatan untuk memproses data lebih dekat dengan sumber data daripada selalu mengirim seluruh data ke cloud.
Materi akan mencakup:
Device ↓Edge Device ↓Local Processing ↓Cloud
Kita akan membahas:
- apa itu edge computing;
- perbedaan edge dan cloud;
- edge gateway;
- local processing;
- edge AI;
- offline operation;
- latency;
- bandwidth;
- Raspberry Pi sebagai edge device;
- contoh arsitektur edge IoT;
- dan kapan sebaiknya data diproses di edge atau cloud.
Dengan demikian, kita mulai memasuki tahap intermediate–advanced IoT architecture, di mana sistem tidak lagi hanya mengirim data ke cloud, tetapi mulai mampu berpikir dan mengambil tindakan lebih dekat dengan perangkat.
Tinggalkan komentar