Apa Itu NoSQL? Kenapa Ia Ada?
Memahami masalah yang diselesaikan NoSQL, arti namanya, dan mitos yang sering salah.
Cerita dulu: lemari berlaci vs kardus serbaguna
Bayangkan dua cara menyimpan barang. Lemari berlaci: setiap laci punya label dan ukuran tetap (laci kaos, laci kaus kaki). Sangat rapi, tapi kalau kamu punya barang aneh yang tidak muat di laci mana pun, repot. Kardus serbaguna: apa saja boleh masuk, bentuknya bebas, dan kalau penuh kamu tinggal tambah kardus lagi.
Analogi: database SQL (MySQL, PostgreSQL) seperti lemari berlaci: tabel dan kolom ditentukan lebih dulu. Banyak database NoSQL seperti kardus serbaguna: bentuk data lebih bebas dan mudah ditambah kapasitasnya.
Apa arti "NoSQL"?
NoSQL biasanya dibaca "Not Only SQL" (bukan "tanpa SQL"). Ini adalah payung untuk berbagai database yang tidak memakai model tabel relasional klasik. Sebagian bahkan masih punya bahasa query mirip SQL.
Kenapa NoSQL muncul?
Sekitar tahun 2000-an, perusahaan seperti Google, Amazon, dan Facebook menghadapi masalah baru:
- Data meledak: jutaan pengguna, miliaran klik, foto, dan log setiap hari.
- Bentuk data beragam: profil, komentar, produk dengan atribut berbeda-beda, bukan sekadar baris-kolom seragam.
- Satu server tidak cukup: mereka perlu menyebar data ke puluhan atau ratusan server murah (scale out), bukan terus memperbesar satu server mahal (scale up).
- Perubahan cepat: aplikasi sering ditambah fitur, dan mengubah skema tabel berjuta baris itu lambat dan berisiko.
Mitos yang sering terdengar
| Mitos | Kenyataan |
|---|---|
| "NoSQL lebih baik dari SQL" | Tidak ada yang selalu lebih baik. Keduanya alat berbeda untuk masalah berbeda. |
| "NoSQL tidak punya aturan sama sekali" | Aturan tetap ada, hanya lokasinya bergeser: sebagian ke aplikasi, sebagian ke validasi database (kamu akan belajar di bab 19). |
| "NoSQL pasti lebih cepat" | Cepat untuk pola akses tertentu. Untuk laporan rumit dengan banyak relasi, SQL sering lebih nyaman. |
| "NoSQL tidak aman" | Keamanan bergantung pada konfigurasi, bukan jenis database (bab 27). |
Di mana NoSQL dipakai?
- Katalog produk e-commerce (atribut tiap produk berbeda).
- Cache dan sesi login yang butuh kecepatan kilat.
- Log dan data sensor dengan jutaan tulisan per detik.
- Media sosial: relasi pertemanan dan rekomendasi.
Rencana belajar kita
Course ini membawamu dari konsep, lalu praktik MongoDB (database dokumen paling populer) secara mendalam, kemudian Redis (key-value), mengenal Cassandra (column) dan Neo4j (graph), dan ditutup proyek kedai kopi KopiKita. Semua latihan dijalankan langsung di browser tanpa instalasi.
Kesalahan yang sering terjadi
- Memilih NoSQL hanya karena "sedang tren". Pilih berdasarkan kebutuhan data.
- Menganggap NoSQL itu satu produk. Ia banyak jenis, dengan cara kerja yang sangat berbeda.