Tipe-Tipe Database
Memahami berbagai jenis database dan kapan menggunakannya
Database Relasional (SQL)
- Menyimpan data dalam tabel dengan baris dan kolom
- Menggunakan SQL sebagai bahasa query
- Data dihubungkan antar tabel melalui relasi
Karakteristik
- Skema tetap, struktur tabel harus didefinisikan terlebih dahulu
- Mendukung transaksi ACID: Atomicity, Consistency, Isolation, Durability
- Cocok untuk aplikasi dengan data terstruktur dan relasi kompleks
Contoh DBMS
- MySQL: populer, open source, banyak digunakan untuk web
- PostgreSQL: fitur lengkap, mendukung tipe data kompleks
- SQLite: ringan, tanpa server, cocok untuk aplikasi mobile
- SQL Server: produk Microsoft untuk enterprise
Database NoSQL
- Tidak menggunakan tabel dan skema tetap
- Lebih fleksibel dalam menyimpan data yang tidak terstruktur
- Dirancang untuk scale horizontal dengan mudah
Jenis-Jenis NoSQL
Document Store
- Menyimpan data sebagai dokumen JSON atau BSON
- Setiap dokumen bisa memiliki struktur berbeda
- Cocok untuk data hierarki dan konten yang bervariasi
- Contoh: MongoDB, CouchDB
Key-Value Store
- Menyimpan data sebagai pasangan kunci dan nilai
- Sangat cepat untuk operasi baca dan tulis sederhana
- Cocok untuk cache dan session storage
- Contoh: Redis, DynamoDB
Column-Family Store
- Menyimpan data dalam kolom-kolom yang dikelompokkan
- Optimized untuk query analitik pada data besar
- Cocok untuk time-series dan data warehouse
- Contoh: Cassandra, HBase
Graph Database
- Menyimpan data sebagai node dan edge
- Optimized untuk data dengan relasi yang kompleks
- Cocok untuk social network dan recommendation engine
- Contoh: Neo4j, ArangoDB
Kapan Memilih SQL
- Data memiliki struktur yang jelas dan konsisten
- Relasi antar data kompleks dan banyak
- Diperlukan transaksi yang andal
- Aplikasi banking, e-commerce, ERP
Kapan Memilih NoSQL
- Data tidak memiliki struktur yang tetap
- Perlu scale dengan cepat dan banyak
- Data bersifat hierarkis atau nested
- Aplikasi real-time, IoT, content management