Tolong pilih kategori sesuai, jenis posting (diskusi atau bukan) dan sertakan tag/topik yang sesuai seperti komputer, java, php, mysql, dll. Promosi atau posting tidak pada tempatnya akan kami hapus!
- Bagi Anda yang ingin mendaftar, baca link berikut:
http://diskusiweb.com/discussion/50491/how-to-registrasi-diskusiweb-com-baca-ini-terlebih-dahulu
- Cara menyisipkan kode program supaya tampil rapi dan terformat dengan baik di diskusiweb.com: http://www.diskusiweb.com/discussion/50415/cara-menyisipkan-kode-program-di-diskusiweb-com
- Cara posting gambar/image di post Anda: http://www.diskusiweb.com/discussion/47345/cara-menyisipkan-menyertakan-image-pada-posting/p1
http://diskusiweb.com/discussion/50491/how-to-registrasi-diskusiweb-com-baca-ini-terlebih-dahulu
- Cara menyisipkan kode program supaya tampil rapi dan terformat dengan baik di diskusiweb.com: http://www.diskusiweb.com/discussion/50415/cara-menyisipkan-kode-program-di-diskusiweb-com
- Cara posting gambar/image di post Anda: http://www.diskusiweb.com/discussion/47345/cara-menyisipkan-menyertakan-image-pada-posting/p1
Mengenal MongoDB, Open Source Database NoSQL Document-Oriented

Mungkin sebagian Anda masih belum tahu, apa itu MongoDB, apakah sebuah RDBMS seperti halnya MySQL atau bukan ya? Dengan performa lebih cepat dibandingkan MySQL, MongoDB menawarkan sesuatu yang lain. Adapun nama-nama besar Foursquare, Disney, Forbes, Sourceforge ataupun Github telah menggunakannya. Penasaran? Yuk kita berkenalan lebih jauh dengan MongoDB, siapa tahu ke depannya bisa menjadi alternatif yang bisa Anda gunakan.
Sekilas Tentang NoSQL
Sebelum lanjut, kita perlu kenali terlebih dahulu konsep NoSQL. Buat apa? Pertanyaan yang bagus. NoSQL (singkatan dari Not Only SQL) sendiri adalah tipe database yang sangat jauh berbeda dengan konsep RDBMS ataupun ODBMS. Perbedaan utamanya sendiri yaitu karena tidak mengenal istilah relation dan tidak menggunakan konsep schema. Kalau biasanya Anda menggunakan query ‘Join’ di sini Anda tidak bisa menggunakannya karena setiap tabel berdiri sendiri tanpa tergantung dengan tabel lainnya alias independen.Selain itu kalau di dalam konsep DBMS biasanya sebelum insert data Anda diharuskan untuk mendefinisikan terlebih dahulu struktur tabel seperti tipe data dan ukurannya, di konsep NoSQL ini Anda bisa menyimpan data tanpa perlu mendefinisikan tipe data dan ukurannya lagi. Jadi lebih fleksibel bila ada perubahan di masa mendatang. Adapun beberapa database NoSQL yang ada saat ini yaitu Cassandra, Big Table, CouchDB, Redis, Riak, Dynamo dan lainnya. Tentunya yang akan kita bahas di sini secara khusus adalah MongoDB.
Apa Itu MongoDB?
MongoDB merupakan database open source berbasis dokumen (Document-Oriented Database) yang awalnya dibuat dengan bahasa C++. MongoDB sendiri sudah dikembangkan oleh 10gen sejak Oktober 2007, namun baru dipublikasikan pada Februari 2009. Selain karena performanya 4 kali lebih cepat dibandingkan MySQL serta mudah diaplikasikan, karena telah tergabung juga sebagai modul PHP.Dalam konsep MongoDB tidak ada yang namanya tabel, kolom ataupun baris yang ada hanyalah collection (ibaratnya tabel), document (ibaratnya record). Data modelnya sendiri disebut BSON dengan struktur mirip dengan JSON. Strukturnya cukup mudah dibaca, contohnya seperti ini.
{ |
Dengan konsep key-value yang ada pada MongoDB, setiap document otomatis memiliki index id yang unik. Hal ini membantu mempercepat proses pencarian data secara global.
Kelebihan MongoDB
MongoDB hadir dengan beberapa kelebihan yaitu :- Performa yang ditawarkan MongoDB lebih cepat dibandingkan MySQL ini disebabkan oleh memcached dan format dokumennya yang berbentuk seperti JSON
- Replikasi, adalah fitur yang sangat bermanfaat untuk backup data secara realtime. MongoDB sangat cocok digunakan untuk portal berita ataupun blog, namun belum cocok untuk digunakan pada sistem informasi yang berkaitan dengan keuangan karena MongoDB tidak mendukung transaction SQL
- Auto-sharding, merupakan fitur untuk memecah database yang besar menjadi beberapa bagian demi optimalisasi performa database. Penggunaannya sendiri sangat berguna ketika Anda memiliki website dengan database yang jutaan baris, sharding akan membantu memecahnya menjadi beberapa bagian
- MongoDB juga sudah mendukung C, C++, C#, Erlang, Haskell, Java, JavaScript, .NET(C# F#, PowerShell), Lips, Perl, PHP, Python, Ruby dan Scala
- Cross-platform, sehingga dapat digunakan di Windows, Linux, OS X dan Solaris
- Proses CRUD (Create, Read, Update, Delete) terasa sangat ringan
- Map/Reduce, akan sangat membantu ketika kita melakukan operasi agregasi. Dimana semua entry datangnya dari collection dan outputnya pun akan menjadi collection juga. Kalau di MySQL biasanya kita menggunakan query GROUP BY
- GridFS, spesifikasi yang digunakan untuk menyimpan data yang sangat besar
Instalasi MongoDB
Sebagai contoh kali ini, kita akan mencoba untuk menginstalasi MongoDB di Windows. Sebelum memulai, Anda harus mengunduh dari link berikut ini (tersedia untuk 32-bit dan 64-bit) : http://www.mongodb.org/downloadsSetelah diunduh silahkan diekstrak di drive C (bisa juga di drive lainnya). Buatlah folder sebagai lokasi penyimpanan database misalnya folder DB, dengan path seperti ini :
C:\Mongo\DB |
Setelah folder di atas dibuat, lalu buka command prompt dan ketikkan perintah berikut ini:
C:\Mongo\bin>mongod –dbpath=C:\Mongo\DB |
Perintah di atas digunakan untuk menjalankan MongoDB, jangan tutup jendela command prompt, tapi buka 1 lagi yang baru ( jadi ada 2 jendela command prompt dibuka). Ketik perintah berikut ini :
C:\Mongo\bin>mongo |
> show dbs; |
Ingin menambahkan database baru? Coba ketik perintah ini (Anda dapat mengubah nama ‘universitas’ sesuai dengan nama yang Anda inginkan) :
> use universitas |
Sekarang Anda sudah punya database universitas, sekarang saatnya kita membuat collection (bisa dianggap tabel), caranya cukup mudah tak perlu membuat tipe data ataupun panjang data. Cukup ketik perintah seperti berikut ini :
> db.mahasiswa.save({nama:’Budi’,NIM:’09136363',jurusan:’Sistem Informasi’,Fakultas:’Teknologi Informasi’}) |
Dari perintah di atas kita sudah memiliki 1 data mahasiswa yaitu Budi. Intinya ketika kita membuat collection baru, kita juga sudah memiliki 1 data. Selanjutnya Anda bisa menambah data baru lagi, dengan perintah insert seperti ini :
> db.mahasiswa.insert({nama:’Ani’,NIM:’09325336',jurusan:’Sistem Infomasi’,Fakultas:’Teknologi Informasi’}) |
Berarti kita sudah punya 2 baris data, nah Anda juga bisa menampilkan data yang sudah Anda simpan tadi dengan perintah berikut :
> db.mahasiswa.find() |
Maka datanya akan tampil seperti ini :
{ “_id” : ObjectId(“459c98a2d342c633c50c8eaa”), “nama” : ”Budi”, “NIM” :”09136363?, “jurusan” : “Sistem Informasi”, “Fakultas” : “Teknologi Informasi” } |
Nah, kok tiba-tiba muncul id ya? Kalau di MySQL itu namanya Primary Key yang harus dibuat, tapi di MongoDB, id muncul otomatis berikut datanya.
Selanjutnya kita akan mencoba untuk mengedit data, coba ketik perintah ini :
> person=db.mahasiswa.findOne({NIM:'09136363'}) |
Sedangkan perintah untuk menghapus data bisa dengan cara seperti ini :
db.mahasiswa.remove({NIM:'09136363'}) |
Cukup sederhana bukan? Nah lain waktu akan kita bahas lebih dalam lagi, selamat mencoba.
(thePinkFighter)
Tagged:
Comments
Btw, makasih penjelasan dan sedikit turorialnya.
=D>
Sempet perkenalan sebentar, mungkin kalo sudah ada waktu banyak bisa dilanjutin lagi
Di company ane lagi buat portal berita, combine oracle 11g R2 dengan mongodb dengan java
Sitenya masih beta. Kalo mau liat hasilnya di http://beta.iyaa.com
Untuk instalasi mongodb di http://www.myee.web.id/?p=685 untuk centos