MongoDB adalah sistem database NoSQL populer dengan jumlah unduhan hingga 300 juta kali. Kepopuleran MongoDB tidak terlepas dari fleksibilitas, kemudahan, serta kecepatan yang ditawarkan. Dalam artikel ini, kami akan membahas secara lengkap tentang apa itu MongoDB, mulai dari pengertian, kelebihan, dan contohnya. Penasaran, kan? Yuk, cari tahu jawabannya!
Apa itu MongoDB
MongoDB adalah salah satu jenis database NoSQL (Not Only SQL) yang menyimpan datanya dalam bentuk document dengan format JSON. Dengan menggunakan format ini, MongoDB mampu menampung data yang kompleks dan bervariasi.
Selain itu, MongoDB juga mampu melakukan scale out database, sehingga jika Anda ingin meningkatkan kapasitas data, maka tidak akan sampai mengganggu performa server yang sedang berjalan. Hal inilah yang membuat perusahaan besar seperti IBM, Facebook, Google, eBay, hingga Adobe menggunakan database satu ini.
Also Read
Awalnya, MongoDB dikembangkan oleh Dwight Merriman, Eliot Horowitz dan Kevin Ryan yang tergabung dalam tim Double Click di tahun 2007. Pada saat itu, mereka dihadapkan pada satu masalah, untuk menayangkan 40.000 iklan per detik yang kurang optimal dalam hal skalabilitas dan kelincahan.
Frustasi dengan hal itu, mereka bersama-sama membuat sistem database baru yang bertujuan untuk memecahkan permasalahan tersebut, dan lahirlah MongoDB.
Komponen Utama MongoDB
Tiga komponen penting yang wajib Anda ketahui di MongoDB adalah sebagai berikut:
1. Database
Database pada MongoDB adalah keseluruhan penyimpanan yang terdiri atas kumpulan data collection.
2. Collection
Collection pada MongoDB merupakan sekumpulan informasi data yang terbentuk dari dokumen-dokumen. Apabila Anda pernah belajar database SQL, maka dibagian ini setara dengan tabel.
3. Document
Komponen terakhir dalam MongoDB adalah Document, yakni unit data satuan yang digunakan di MongoDB.
Pada database SQL, Anda pasti pernah mendengar istilah tables, rows, columns. NoSQL juga menggunakan istilah yang hampir sama. Berikut perbandingan istilah antara sistem Database SQL dan NoSQL:
SQL | NoSQL |
database | database |
tables | collections |
rows | documents (JSON) |
columns | fields |
Fungsi MongoDB
MongoDB memiliki peran penting dalam pengembangan aplikasi web modern, terutama yang membutuhkan fleksibilitas struktur data dan skalabilitas tinggi. Berikut beberapa fungsi spesifik MongoDB dalam konteks aplikasi web:
- Penyimpanan data yang tidak terstruktur
MongoDB menggunakan format JSON, sehingga sangat cocok untuk menyimpan data yang tidak kaku seperti profil pengguna, log aktivitas, atau metadata produk. - Mendukung aplikasi real-time
MongoDB mampu menangani data yang berubah cepat secara real-time, seperti notifikasi pengguna, chat, atau dashboard pemantauan. - Cocok untuk backend aplikasi berbasis Node.js
Kombinasi MongoDB dengan Express dan Node.js (bagian dari stack MERN) sangat populer dalam membangun aplikasi web modern karena kesamaan struktur data JSON. - Mudah diskalakan untuk aplikasi yang terus berkembang
Untuk aplikasi web yang mengalami lonjakan pengguna, MongoDB memudahkan horizontal scaling (sharding) tanpa merombak struktur database. - Sederhana dalam pengembangan
Saat tim developer sering mengubah skema data seiring fitur baru, MongoDB memberi fleksibilitas tanpa perlu migrasi database yang kompleks seperti pada RDBMS.
Dengan fungsi diatas, membuat MongoDB menjadi salah satu pilihan utama bagi developer yang membangun aplikasi web modern, dinamis, dan mudah disesuaikan dengan kebutuhan user.
Kelebihan MongoDB
Setelah mengetahui tentang apa itu MongoDB dan fungsinya, selanjutnya akan kami bahas tentang kelebihan dan kekurangan MongoDB. MongoDB adalah sistem database jenis NoSQL yang memiliki kepercayaan hingga 300 juta unduhan. Apakah Anda tahu mengapa orang memilih MongoDB untuk sistem databasenya?
1. Performa Cepat
MongoDB adalah database dengan performa yang lebih cepat jika dibandingkan dengan database berjenis SQL, karena MongoDB menggunakan dokumen format JSON yang membuat kumpulan data bisa diakses dengan lebih cepat daripada data yang disimpan dengan format tabel.
Selain itu, MongoDB juga mendukung memcached, yaitu fitur yang membuat website menjadi jauh lebih cepat dengan sistem caching. Fitur ini membuat kerja server menjadi lebih ringan, dan cocok untuk website yang dinamis.
2. Pengelolaan Database Mudah
Database MongoDB dikenal dengan pengelolaan yang jauh lebih mudah dibandingkan database yang dibuat menggunakan SQL.
3. Cocok Untuk Menampung Data yang Bervariasi
MongoDB menggunakan skema table yang dinamis (dynamic schema) sehingga mampu menyimpan data yang kompleks.
Dynamic schema membuat MongoDB cocok untuk menampung data yang bervariasi baik digunakan untuk menyimpan data yang terstruktur ataupun yang tidak terstruktur.
Contoh data terstruktur misalnya data yang didapat langsung dari database, seperti nilai mahasiswa, data mahasiswa, dll. Sedangkan data tidak terstruktur adalah data yang memerlukan analisis terlebih dahulu, seperti a video, foto, teks, atau suara.
4. Skalabilitas
MongoDB mampu digunakan untuk menyimpan database dalam jumlah besar, hingga ratusan ribu baris dokumen, maupun database dalam jumlah kecil (ratusan baris saja).
5. Gratis
MongoDB adalah software database yang gratis dan bisa digunakan di Windows, Linux maupun MacOS. Anda dapat menggunakan MongoDB untuk membuat program, baik untuk skala besar maupun skala kecil, dengan anggaran yang terjangkau.
Kekurangan MongoDB
Meskipun MongoDB memiliki banyak keunggulan, ada beberapa kekurangan yang perlu dipertimbangkan sebelum menggunakannya, terutama untuk aplikasi dengan kebutuhan struktur data yang sangat kompleks atau transaksi yang ketat.
Berikut beberapa kekurangan dari MongoDB:
- Tidak mendukung JOIN secara native, sehingga kurang ideal untuk aplikasi dengan banyak relasi data.
- Kurang optimal untuk transaksi kompleks, meskipun sudah mendukung ACID.
- Konsumsi memori lebih besar dibandingkan database relasional.
- Perlu adaptasi bagi pengguna SQL, karena perbedaan sintaks dan konsep.
- Kurang efisien untuk proyek kecil dengan struktur data yang stabil.
Contoh Penggunaan MongoDB
MongoDB didukung oleh berbagai bahasa pemrograman, di antaranya seperti:
- C
- C++
- C# dan .NET
- Java
- Node.js
- Perl
- PHP
- Phyton
- Ruby
- Mongoid
Saat Anda membuat program dan aplikasi menggunakan bahasa pemrograman di atas, Anda dapat menggunakan MongoDB untuk databasenya.
Perbandingan MongoDB dan MySQL
Berikut adalah tabel perbandingan antara MongoDB dan MySQL secara umum.
Aspek | MongoDB | MySQL |
---|---|---|
Jenis Database | NoSQL (Dokumen) | Relasional (RDBMS) |
Struktur Data | JSON | Tabel dengan skema tetap |
Skema (Schema) | Tidak wajib (schemaless) | Wajib ditentukan di awal |
Kesesuaian Data | Cocok untuk data tidak terstruktur atau semi-struktur | Cocok untuk data terstruktur dan relasional |
Relasi Antar Data | Menggunakan embedding atau referencing | Native support untuk relasi (JOIN) |
Bahasa Query | MongoDB Query Language (MQL) | SQL (Structured Query Language) |
Skalabilitas | Mudah diskalakan secara horizontal (sharding) | Skalabilitas lebih optimal secara vertikal |
Performa | Cepat untuk baca/tulis data besar dan fleksibel | Stabil untuk transaksi kompleks dan data terstruktur |
Kelebihan Utama | Fleksibel, cepat, cocok untuk data yang dinamis | Konsisten, aman, cocok untuk transaksi dan relasi kuat |
Cocok Untuk | Aplikasi real-time, big data, IoT, e-commerce | Sistem keuangan, ERP, CMS, aplikasi dengan banyak relasi data |
Cara Install MongoDB di VPS Ubuntu
Setelah mengetahui apa itu MongoDB selanjutnya mari belajar cara install MongoDB! Pada demo kali ini, kami akan menuliskan langkah-langkah instalasi MongoDB di Ubuntu.
Step 1. Cara Install MongoDB
Di Ubuntu, Anda dapat menginstall MongoDB melalui Terminal dengan perintah:
sudo apt-get install mongodb
Step 2. Cara Mengaktifkan MongoDB
Setelah berhasil menginstall MongoDB, selanjutkan aktifkan databasenya menggunakan perintah berikut:
sudo systemctl enable mongodb
Kemudian, lanjutkan dengan mengaktifkan service MongoDB dengan perintah:
sudo systemctl start mongodb
Step 3. Cek Status Database
Dengan mengikuti dua langkah di atas, MongoDB seharusnya sudah berjalan dan dapat digunakan. Anda juga bisa memastikan MongoDB telah aktif di server Anda, dengan menjalankan perintah berikut:
sudo systemctl status mongodb
Bila Anda hasilnya tertulis Active(running), maka database MongoDB sudah siap digunakan.
Belajar Perintah Dasar MongoDB
Setelah berhasil melakukan instalasi database MongoDB di Ubuntu, mengaktifkan MongoDB, dan cek status MongoDB. Anda juga perlu belajar perintah dasar MongoDB. Apa saja perintah dasar yang digunakan di MongoDB?
1. Cara Masuk ke Database MongoDB
Masuk ke dalam database MongoDB menggunakan perintah berikut:
mongo
2. Cara Membuat Database
Berikutnya, Anda dapat membuat database di sana. Sebagai contoh kami akan membuat database dengan nama ‘db_mahasiswa’, maka perintahnya:
use db_mahasiswa
3. Cara melihat list Database
Selanjutnya, untuk melihat database apa saja yang sudah Anda buat di MongoDB, gunakan perintah berikut:
db
4. Cara menghapus Database
Bila Anda ingin menghapus database yang telah dibuat, silakan menggunakan perintah;
db.dropDatabase()
Sebagai contoh, kami akan menghapus database db_mahasiswa yang telah dibuat sebelumnya, dengan perintah sebagai berikut:

5. Cara Insert data
Selanjutnya kami akan mendemokan cara insert data di database db_mahasiswa dengan nama collection admin.
Pilih database menggunakan perintah:
use db_mahasiswa
Masukkan data ke dalam database menggunakan perintah:
db.admin.insert({"nama" : "Wawan Abdullah", "alamat" : "Yogyakarta" , "NIM" : "22.11.3405"})
6. Cara melihat daftar collection
Untuk melihat daftar collection yang telah Anda buat di MongoDB, ketikkan perintah:
show collections
7. Cara melihat Isi collection
Untuk melihat isi collection, silakan menggunakan perintah find. Pada contoh ini kami akan melihat isi data collection dari admin.
db.admin.find()
8. Cara menghapus data
Untuk menghapus data di MongoDB, Anda perlu mengetahui ObjectID yang akan dihapus. Langkahnya, cek nama file JSON menggunakan .pretty. Berikut contoh hapus data pada collection admin:
db.admin.remove({"_id" : ObjectId("Masukkan_Kode_Disini")})
9. Cara mengubah data
Mengubah data di MongoDB juga perlu mengetahui ObjectID. Berikut contoh cara mengubah data pada collection admin:
db.admin.update({"_id" : ObjectId("65e231fd59e0e6311sda623a04")},{"nama" : "Hermawan Susanto", "alamat" : "Magelang"})
10. Cara menghapus collection
Terakhir, ada perintah untuk menghapus collection. Berikut ini perintahnya:
db.Nama_Collection.drop()
Apabila Anda membutuhkan detail perintah-perintah untuk menjalankan MongoDB, Anda dapat mengunjungi halaman resmi dokumentasi MongoDB.
FAQ
Berikut adalah FAQ yang sering ditanyakan berkaitan dengan MongoDB.
> Apa kelebihan MongoDB dibanding database relasional?
MongoDB menawarkan fleksibilitas struktur data karena tidak memerlukan skema tetap seperti pada database relasional. Ini memungkinkan aplikasi dapat dikembangkan lebih cepat dan mudah beradaptasi saat struktur data sering berubah.
Selain itu, MongoDB unggul dalam menangani data besar, tidak terstruktur, dan cocok untuk aplikasi real-time karena performa read/write yang tinggi dan kemampuan skalabilitas horizontal (sharding).
> Apakah MongoDB cocok untuk website skala kecil?
Ya, MongoDB tetap bisa digunakan untuk website skala kecil, terutama jika datanya cenderung tidak terstruktur atau sering berubah. Namun, jika website Anda menggunakan struktur data yang sederhana dan konsisten, serta membutuhkan relasi antar tabel, database relasional seperti MySQL bisa menjadi pilihan yang lebih ringan dan efisien.
Penutup
MongoDB adalah sistem database jenis NoSQL yang sangat populer karena tidak terlepas dari fleksibilitas, kemudahan, serta kecepatan yang ditawarkan.
Berbeda dengan SQL yang menggunakan format table, MongoDB menggunakan format JSON untuk penyimpanannya. Hal inilah yang membuat MongoDB mampu menampung banyak data yang kompleks dan bervariasi.
Rumahweb menawarkan VPS KVM yang mendukung database MongoDB. Cukup dengan Rp 50.000, Anda sudah bisa menikmati layanan VPS kami dengan kecepatan dan reliabilitas yang tidak tertandingi.
Demikian artikel kami tentang apa itu MongoDB hingga tutorial belajar MongoDB untuk pemula dari Rumahweb Indonesia, semoga bermanfaat.