Apa MongoDB itu? Sebuah Database berbentuk Dokumen, maksudnya adalah database yang tidak menggunakan relasi(Relational Database manageent System / RDBMS) atau biasa disebut dengan NoSQL. Database ini berbentuk Mirip Seperti JSON akan tetapi lebih dikembangkan lagi menjadi BSON (Binary JSON). Jika kalian telah terbiasa dengan Struktur table, kolom dan baris pada SQL, kalian tidak akan menemukan hal tersebut pada NoSQL, karena strutur table, kolom dan baris digantikan dengan Collection (table) dan document (record/value).

Mengapa belakangan ini banyak yang migrasi dari Mysql ke MongoDb (NoSQL)? banyak yang bilang MongoDB 4x lebih cepat dari mysql (Saya belum membuktikan :)), MongoDB (NoSQL) sangat cocok bila digunakan pada Blog, Iklan baris, Social network yang tidak memerlukan Transaksi data seperti yang dimiliki oleh RDBMS/ODBMS. Tapi tidak menutup kemungkinan juga kalo kalian ingin menggunakannya untuk Transaksi data, tentu ada konsequensinya sendiri.

Contoh Biasanya perhitungan - perhitungan yang rumit dapat di jalankan pada Function atau Procedure dengan memanfaatkan PL SQL, TSQL, PG SQL tentu kalian harus rela melakukan pencodean pada sisi Bahasa pemrograman (.Net, C/C++, Python, PHP) jelas ini juga sedikit riskan, mengapa? karena pada MongoDB tidak mengenal Rollback (CMIIW) karena ketika transaksi terjadi ada beberapa hal yang tak terduga Misalnya Koneksi putus, Mati listrik dll kalau data yang dikirimkan Full (Complete) tidak apa - apa bagaimana bila data yang masuk ke database cuman separuhnya? tentu ini tidak bagus bukan, Oleh karena itu banyak yang menyarankan MongoDB (NoSQL) tidak digunakan untuk Transaksi data. 

Bagaimana bila digunakan untuk Toko Online? sah - sah saja, kalian mau menggunakan untuk apa asal data tersebut Valid dan tidak menimbulkan permasalahan dikemudian hari (Kalau saya tidak mau resiko Transaction tetap menggunakan DBMS).

Apa kelebihan MongoDB (NoSQL) tidak udah saya jelaskan disini malah panjang nanti artikelnya kalian bisa Search di google untuk mencari kelebihan dan kekurangannya. Bagaimana cara instalasinya? Karena saya saat nuis artikel ini masih dikantor jadi instalasi menggunakan Windows, untuk Linux bisa membaca manual instalasi mongoDB :).

 

1. Download MongoDB melalui link berikut http://www.mongodb.org/downloads

2. Ekstrak File Zip pada pada Drive C (ubah nama folder menjadi MongoDB)

3. Pada Environment Variables (System Properties - Environment Variables - System Variables) Tambahkan pada PATH Variable C:\>MongoDB\bin

4. Jalan mongod --dbpath C:\MongoDB\data (pastikan folder data berada pada Folder MongoDB)

5. Sekarang MongoDB sudah berjalan kalian tinggal mencoba membuat Collection

Untuk Mencoba kalian bisa membuka Command lagi (cmd) ikuti perintah dibawah

C:\>mongo

>show dbs; // untuk melihat database yang ada

>use my_blog // untuk membuat Database baru

>db.account.save({username:'admin',password:'password',email:[email protected]',kelamin:'L'}); // membuat collection (table account) baru

>db.account.insert({username:'langga',password:'qwerty',email:[email protected]',kelamin:'L'}); // Menambahkan document/Record baru

>db.account.find(); // untuk menampilkan seluruh Document/Record

>db.account.findOne({username:'admin'}); // Menampilkan satu/lebih document/record mirip where kalo di DBMS dan active record YII :)

>db.account.findOne({username:'admin',email:[email protected]'}); // bila pemfilteran lebih spesifik

>db.account.remove(username:'langga'); // menghapus document/record 

Bagaimana cukup mudah bukan... Kalo saya simpulkan Pembuatan Collection pada MongoDB (NoSQL) mirip dengan View pada SQL karena bisa digabungkan dari masing tables bedanya kalau di mongoDB setiap Key bisa di Objectkan sedangkan View pada SQL tidak bisa. Sedikit pembelajaran MongoSB (NoSQL) akan dapat memberikan Gambaran cara penerapan pada Pemrograman.

 

Happy Coding...