MongoDB
MongoDB adalah database NoSQL yang menyimpan data dalam format dokumen JSON-like (disebut BSON) - bukan dalam tabel dengan baris dan kolom seperti database relasional. Cocok banget kalau kamu punya data yang strukturnya sering berubah atau bervariasi antar record.
Apa itu MongoDB?
MongoDB adalah database NoSQL bertipe document-oriented yang dikembangkan oleh MongoDB Inc. (dulu bernama 10gen) dan dirilis pertama kali tahun 2009. Nama "MongoDB" berasal dari kata "humongous" - mencerminkan kemampuannya menangani data dalam skala sangat besar.
Berbeda dengan database relasional yang menyimpan data dalam tabel dengan schema yang kaku, MongoDB menyimpan data sebagai dokumen - struktur seperti JSON yang bisa punya field berbeda-beda di setiap record. Satu "tabel" di MongoDB disebut collection, dan satu "baris" disebut document.
Bagaimana MongoDB Menyimpan Data?
Di MongoDB, data disimpan dalam format BSON (Binary JSON) - versi binary dari JSON yang lebih efisien untuk disimpan dan diproses. Setiap dokumen bisa punya struktur yang berbeda:
- Dokumen user A: nama, email, umur, alamat
- Dokumen user B: nama, email, nomor_telepon (tanpa umur dan alamat)
- Dokumen user C: nama, email, umur, multiple alamat, preferensi sebagai nested object
Di database relasional, variasi seperti ini butuh banyak kolom NULL atau tabel terpisah dengan JOIN. Di MongoDB, ini justru dirancang untuk kasus seperti itu.
SQL vs NoSQL: Perbandingan Konsep
| Konsep | Database Relasional | MongoDB |
|---|---|---|
| Tempat simpan data | Table | Collection |
| Satu record | Row | Document |
| Definisi kolom | Schema (kaku) | Schema-flexible |
| Relasi antar data | JOIN | Embedding / Reference |
| Query language | SQL | MongoDB Query Language (MQL) |
| Skala | Vertical (scale-up) | Horizontal (scale-out) |
| Cocok untuk | Data terstruktur & relasi kompleks | Data variabel & high-throughput |
Kapan MongoDB Cocok?
MongoDB bukan pengganti database relasional - ini tools yang berbeda untuk kebutuhan yang berbeda:
Cocok untuk MongoDB:
- Konten yang strukturnya bervariasi antar record, misalnya produk e-commerce yang tiap kategori punya atribut berbeda
- Prototyping cepat - schema yang fleksibel bikin kamu bisa iterate tanpa migration yang ribet
- Aplikasi real-time yang butuh horizontal scaling cepat
- Menyimpan data JSON dari API eksternal tanpa perlu transformasi dulu
Lebih baik pakai SQL:
- Data yang punya relasi kompleks antar entitas seperti transaksi, akuntansi, atau inventory
- Ketika ACID compliance di level transaksi multi-dokumen sangat penting
- Tim yang sudah familiar dengan SQL dan butuh reporting analitik kompleks
- Query agregasi dengan banyak JOIN antar collection yang berbeda
MongoDB Atlas dan Ekosistem Modern
MongoDB Inc. sekarang punya Atlas - layanan managed MongoDB di cloud (AWS, GCP, Azure) yang bikin setup dan scaling MongoDB jauh lebih mudah. Atlas juga punya fitur tambahan:
- Atlas Search: Full-text search berbasis Lucene, langsung terintegrasi dengan data MongoDB
- Atlas Data Lake: Query data langsung dari S3 atau GCS tanpa perlu load ke MongoDB dulu
- Atlas App Services: Backend-as-a-service untuk mobile dan web apps
Untuk data engineer, MongoDB sering muncul di arsitektur modern sebagai operational data store - tempat menyimpan data mentah dari berbagai sumber sebelum di-transform ke data warehouse atau lakehouse untuk analitik lebih dalam.
Udah paham MongoDB? Lanjut latihan SQL dan Excel yuk!
Latihan interaktif, langsung di browser.