MongoDB adalah sistem database NoSQL populer dengan jumlah unduhan hingga 300 juta kali. Kepopuleran MongoDB tidak terlepas dari fleksibilitas, kemudahan, serta kecepatan yang ditawarkan. Namun, apakah MongoDB cocok dengan project yang Anda buat?
Pada artikel ini, kita akan belajar bersama tentang apa itu MongoDB, mulai dari pengertian, kelebihan, dan contohnya. Penasaran, kan? Yuk, cari tahu jawabannya!
Apa itu MongoDB
Seperti yang sudah disebutkan sebelumnya, 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.
Sejarah MongoDB
MongoDB adalah database yang berkantor pusat di New York ini didirikan 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 MongoDB
Tiga komponen penting yang wajib Anda ketahui di MongoDB adalah sebagai berikut
- Database
Database pada MongoDB adalah keseluruhan penyimpanan yang terdiri atas kumpulan data collection. - 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. - 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 |
Kelebihan 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.
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.
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.
Kesimpulan
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.