Jenis-jenis Database
Ada berbagai jenis database yang dirancang untuk kebutuhan berbeda. Memahami perbedaannya membantu kita memilih solusi yang tepat.
1. Relational Database (RDBMS)
Menyimpan data dalam tabel dengan baris dan kolom. Menggunakan SQL untuk query. Contoh: PostgreSQL, MySQL, SQLite.
-- Relational: data terstruktur dalam tabel
SELECT u.name, o.total
FROM users u
JOIN orders o ON u.id = o.user_id
WHERE o.total > 100000;
2. Document Database
Menyimpan data sebagai dokumen (biasanya JSON/BSON). Fleksibel, tidak perlu schema tetap. Contoh: MongoDB, CouchDB.
// Document: data fleksibel dalam JSON
{
"name": "Budi",
"orders": [
{ "item": "Laptop", "total": 15000000 },
{ "item": "Mouse", "total": 250000 }
]
}
3. Key-Value Store
Menyimpan data sebagai pasangan key-value. Sangat cepat untuk operasi sederhana. Contoh: Redis, Memcached.
// Key-Value: sederhana dan cepat
SET user:1001:name "Budi"
GET user:1001:name // → "Budi"
4. Graph Database
Menyimpan data sebagai node dan edge. Ideal untuk data yang saling terhubung seperti social network. Contoh: Neo4j.
5. Time-Series Database
Dioptimalkan untuk data yang berurutan berdasarkan waktu. Contoh: InfluxDB, TimescaleDB.
Kapan Menggunakan Apa?
- RDBMS — data terstruktur, butuh ACID transactions (e-commerce, banking)
- Document DB — schema fleksibel, prototyping cepat (CMS, katalog produk)
- Key-Value — caching, session, data yang sering diakses
- Graph DB — relasi kompleks (social network, recommendation engine)
- Time-Series — monitoring, IoT, analytics