Mongo DB merupakan salah satu database dari NoSQL. Nama – nama besar yang telah menggunakan MongoDB seperti Foursqure, Disney, Forbes, Sourceforge, ataupun Github. Untuk lebih jelasnya apa itu MongoDB, berikut beberapa penjelasan mengenai MongoDB.
Pengertian MongoDB
MongoDB merupakan basis data yang tidak relasional. MongoDB
ini bersifat open source yang memiliki High Performance. MongoDB adalah sebuah
database yang menggunakan konsep manajemen database berorientasi dokumen
(document-oriented) yang dibuat menggunakan pemograman C++. Orientasi dokumen
ini adalah sebuah program komputer yang dirancang untuk menyimpan, mengambil,
dan mengelola data yang berorientasi dokumen.
MongoDB sudah dikembangkan oleh Iogen sejak Oktober 2007,
namun baru dipublikasikan mulai Februari 2009. Performa pada MongoDB sudah
mencapai 4 kali lebih cepat dibandingkan dengn MySQL serta mudah diaplikasikan
juga. Karena MongoDB ini tergabung sebagai modul PHP.
Untuk pengguna RDBMS yang mungkin agak membingungkan, karena
dalam MongoDB ini tidak terdapat namanya tabel akan tetapi yang digunakan
hanyalah koleksi dan dokumen. Koleksi ini dianggap sebagai sebuah directory
(folder) sedangkan dokumen sendiri dianggap sebagai file (berkas) dalam
directory (folder) tersebut. Perbandingan pada RDBMS seperti MySQL, pada
koleksi diibaratkan dengan tabel, sedangkan dokumen diibaratkan dengan baris
dalam tabel tersebut. Baris pada MongoDB ini tidak sama dengan yang ada pada
RDBMS, dokumen pada MongoDB dapat memiliki beda atribut dengan dokumen yang lainnya walaupun ada pada satu koleksi.
Data model MongoDB disebut BSON dengan struktur yang mirip
dengan JSON. Strukturnya cukup mudah untuk dibaca. Dengan konsep key-value pada
MongoDB, setiap dokumen akan otomatis memiliki index id yang unik. Sehingga
dapat membantu mempercepat proses pencarian data secara global.
Poin Penting Document-Oriented pada MongoDB
- Data unit dari MongoDB dikatakan sebagai document, ini sama dengan row dalam relational database.
- Koleksi beberapa dokumen disimpan dalam collection, ini sama dengan table dalam relational database.
- Database merupakan kumpulan dari beberapa collection. MongoDB dapat menerima lebih dari satu database secara independen.
- MongoDB memiliki javascript shell yang sangat berguna untuk urusan administrasi dan manipulasi data.
- Data-data document akan dipisah dan kemudian di store ke beberapa komputer cluster.
Kelebihan MongoDB
- MongoDB merupakan sistem basis data yang menggunakan konsep key-value, yaitu setiap dokumen dalam MongoDB pasti memiliki key. Saat membuat dokumen tanpa menggunakan sebuah primary key, secara otomatis MongoDB akan memberikan sebuah key. Key-value ini berperan penting karena membuat sistem basis data pada MongoDB semakin lebih cepat dibandingkan dengan non key-value seperti RDBMS.
- MongoDB mendukung replikasi. Repiklasi ini dapat membuat pemilik sistem yang memiliki trafik membaca tinggi akan sangat terbantu ketika sistemnya menggunakannya.
- MongoDB juga mendukung Sharding. Sharding digunakan ketika memiliki website yang sudah sangat besar jumlah penggunaannya, datanya dapat mencapai jutaan giga byte. Dengan penggunakan sharding ini akan dikerjakan dengan membaris-baris data dengan per regional.
- MongoDB mendukung modul pemograman MapReduce. Yaitu sebuah konsep yang sangat fenomenal yang pernah dikeluarkan oleh Google dan saat ini banyak diimplementasikan seperti pada Apache Hadoop. MapReduce membantu ketika melakukan operasi agregasi. Dimana semua entry datangnya dari collection dan outputnya akan menjadi collection juga. Pada MySQL biasanya menggunakan query Group By.
- MongoDB mendukung bahasa pemograman C, C++, C#, Erlang, Haskell, Java, JavaScript, .NET (C#F#, PowerShell), Lips, PHP, Python, Ruby, dan Scala.
- Cross-platform. MongoDB akan dapat digunakan di Windows, Linux, OS X, dan Solarus.
- Proses CRUD (create, read, update, dan delete) terasa ringan.
- GridFS. GridFS ini digunakan untuk menyimpan data yang sangat besar.
Kekurangan MongoDB
- MongoDB harus diinstall disebuah server.
- MongoDB belum support dibanyak hosting.
- Tidak cocok untuk aplikasi proses transaksi.
Waktu MongoDB Tidak Digunakan
Hampir semua sistem basis data NoSQL tidak mendukung proses
transaksi. Karena jika sistem basis data NoSQL khususnya MongoDB digunakan
untuk kasus transaksi, maka bisa dipastikan akan banyak terjadi kegagalan dalam
sistem terutama saat proses transaksi tersebut.
Waktu MongoDB Digunakan
MongoDB adalah basis data yang tidak relasional, sehingga
membuat semakin cepat dalam melakukan manipulasi data daripada sistem basis
data relasional. MongoDB sangat cocok untuk membangun sebuah sistem seperti
blog, forum, portal berita, social networking, dan website yang tidak
membutuhkan proses transaksi seperti sistem bank.
Lebih Lengkap untuk Mempelajari MongoDB
Jika tertarik untuk mempelajari lebih jauh tentang
MongoDB, dapat mencati informasinya di http://www.mongodb.org/display/DOCS/Home,
namun jika lebih fakir bandwitdh dapat masuk pada dokumentasi MongoDB di http://dl.mongodb.org/dl/docs/.
Categories:
Basis Data,
Materi Kuliah