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
  1. 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.
  2. MongoDB mendukung replikasi. Repiklasi ini dapat membuat pemilik sistem yang memiliki trafik membaca tinggi akan sangat terbantu ketika sistemnya menggunakannya.
  3. 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.
  4. 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.
  5. MongoDB mendukung bahasa pemograman C, C++, C#, Erlang, Haskell, Java, JavaScript, .NET (C#F#, PowerShell), Lips, PHP, Python, Ruby, dan Scala.
  6. Cross-platform. MongoDB akan dapat digunakan di Windows, Linux, OS X, dan Solarus.
  7. Proses CRUD (create, read, update, dan delete) terasa ringan.
  8. GridFS. GridFS ini digunakan untuk menyimpan data yang sangat besar.

Kekurangan MongoDB
  1. MongoDB harus diinstall disebuah server.
  2. MongoDB belum support dibanyak hosting.
  3. 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: ,

Leave a Reply