Apa itu MongoDB? Pengertian, Jenis, dan Contohnya

Banner - Apa itu MongoDB Pengertian, Jenis, dan Contohnya

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.

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:

SQLNoSQL
databasedatabase
tablescollections
rowsdocuments (JSON)
columnsfields

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:

  1. 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.
  2. Mendukung aplikasi real-time
    MongoDB mampu menangani data yang berubah cepat secara real-time, seperti notifikasi pengguna, chat, atau dashboard pemantauan.
  3. 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.
  4. Mudah diskalakan untuk aplikasi yang terus berkembang
    Untuk aplikasi web yang mengalami lonjakan pengguna, MongoDB memudahkan horizontal scaling (sharding) tanpa merombak struktur database.
  5. 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.

AspekMongoDBMySQL
Jenis DatabaseNoSQL (Dokumen)Relasional (RDBMS)
Struktur DataJSONTabel dengan skema tetap
Skema (Schema)Tidak wajib (schemaless)Wajib ditentukan di awal
Kesesuaian DataCocok untuk data tidak
terstruktur atau
semi-struktur
Cocok untuk data terstruktur
dan relasional
Relasi Antar DataMenggunakan embedding
atau referencing
Native support untuk relasi
(JOIN)
Bahasa QueryMongoDB Query Language (MQL)SQL (Structured Query Language)
SkalabilitasMudah diskalakan secara
horizontal (sharding)
Skalabilitas lebih optimal secara
vertikal
PerformaCepat untuk baca/tulis data
besar dan fleksibel
Stabil untuk transaksi kompleks
dan data terstruktur
Kelebihan UtamaFleksibel, cepat, cocok untuk
data yang dinamis
Konsisten, aman, cocok untuk
transaksi dan relasi kuat
Cocok UntukAplikasi 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:

Belajar mongodb adalah

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.

Bermanfaatkah Artikel Ini?

Klik bintang 5 untuk rating!

Rating rata-rata 4 / 5. Vote count: 4

Belum ada vote hingga saat ini!

Kami mohon maaf artikel ini kurang berguna untuk Anda!

Mari kita perbaiki artikel ini!

Beri tahu kami bagaimana kami dapat meningkatkan artikel ini?

Cloud Hosting Terbaik Rumahweb

Related Post