MONGODB NOSQL DATABASE APA ITU MONGODB ? MongoDB adalah sistem manajemen database berbasis open saurce yang menggunakan model basis data berorientasi dokumen yang mendukung berbagai bentuk data yang berkonsep NoSQL. Ini adalah salah satu dari banyak teknologi basis data non relasional yang marak bermunculan pada pertengahan tahun 2000-an dibawah bendera NoSQL. Query yang digunakan oleh MongoDB tidak menggunakan bahasa Query seperti SQL, tetapi menggunakan javascript. APA ITU MONGODB ? Dilihat dari namanya, database NoSQL sebenarnya sudah cukup menjelaskan. NoSQL merupakan database yang tidak membutuhkan skema dan tidak memiliki relasi untuk setiap tabel. Semua bentuk dokumen dari NoSQL adalah JSON yang mudah dibaca dan dimengerti. NoSQL banyak diminati karena memiliki performa yang tinggi dan bersifat non-relasional sehingga dapat memakai berbagai model data. PERBEDAAN SQL DAN NOSQL Perbedaan yang paling mencolok antara SQL dan NoSQL : 1. Bahasa Perbedaan antara SQL dan NoSQL yang langsung dapat dilihat adalah bahasa query dari masing-masing database. Bahasa SQL adalah bahasa query yang terstruktur hal ini menyebabkan SQL menjadi agak terbatas. SQL mengharuskan kita untuk menentukan skema dalam membangun struktur data bahkan sebelum kita membuat database tersebut. Sebaliknya, database NoSQL tidak memiliki skema (setidaknya skemanya dapat berubah-ubah) dan tak terstruktur. Selain itu data NoSQL dapat disimpan dalam berbagai cara baik itu graph-based, document-oriented, column-oriented, atau yang terorganisir dengan baik seperti KeyValue. Fleksibilitas ini memungkinkan kita untuk membuat dokumen terlebih dahulu sebelum perencanaan matang dan menentukan struktur terlebih dahulu. KIta juga bisa menambahkan isian (field) secara dadakan serta menerapkan syntax yang berbeda-beda dalam setiap database. PERBEDAAN SQL DAN NOSQL 2. Skalabilitas Hampir seluruh database SQL memiliki skala vertikal. Ini berarti jika kita ingin mengembangkan database, yang dapat kita lakukan adalah menambah kapasitas muatan di satu server dengan meng-upgrade komponennya seperti RAM, kapasitas SSD, atau CPU. Hal ini cukup beralasan mengingat SQL lahir di masa di mana hardisk dan komponen lain masih mahal. Jadi dibandingkan membangun server baru, akan lebih efisien jika kita meng-upgrade komponennya secara bertahap. Walaupun begitu, beberapa korporasi besar seperti Oracle terus melakukan pengembangan agar database SQL dapat memiliki skala horizontal. Sebaliknya, database NoSQL memiliki skala horizontal di mana jika kita ingin mengembangkan database kita, kita hanya perlu menambah server baru. Inilah mengapa NoSQL dipakai oleh perusahaan seperti Facebook yang memiliki jumlah pengguna sangat besar dan jenis data yang bermacam-macam. PERBEDAAN SQL DAN NOSQL 3. Aplikasi Seperti yang telah beberapa kali disebutkan bahwa SQL bersifat table-based di mana database ini cocok digunakan untuk aplikasi yang membutuhkan transaksi multi baris. Contoh dari aplikasi ini adalah sistem akuntansi dan mungkin legacy system yang pada awalnya dibuat untuk struktur relasional. Sedangkan untuk NoSQL, database jenis ini cocok digunakan untuk database yang membutuhkan data set yang besar seperti big data. NoSQL juga banyak dipakai aplikasi jejaring sosial atau customer management yang struktur datanya bisa berubah sewaktu-waktu tergantung dari perkembangan aplikasinya sendiri. SEJARAH SINGKAT MONGODB MongoDB diciptakan oleh Dwight Merriaman dan Eliot Howoritz, dua orang yang sangat berpengalaman dalam dunia basis data saat membangun aplikasi web bernama DoubleClick milik Google. SEJARAH SINGKAT MONGODB Nama MongoDB diambil dari kata humongous yang berarti gagasan yang mendukung sejumlah besar data dan terhitung sejak kali pertama didirikan. MongoDB telah digunakan oleh banyak badan dan perusahaan kelas dunia. Seperti : Claiglist, CERN ( Organisasi Nuklir Eropa ), The New York Times di New York Amerika Serikat. KELEBIHAN MONGO DB - Kelebihan dari MongoDB ini adalah sistem penyimpanan data nya yang tidak lagi menggunakan tabel, akan tetapi menggunakan dokumen terstruktur layaknya JSON sebab telah menggunkan Javascript sehingga performa yang dihasilkan oleh MongoDB akan lebih cepat karena didukung oleh memchaced. - Jika dibandingkan dengan RDBMS (Relational Database Management System) setiap kolom baris bersifat fixed atau sama antara satu sama lain, MongoDB lebih menguntungkan karena dalam MongoDB juga mampu dibuat seperti halnya tabel pada DBMS. - MongoDB akan bekerja otomatis untuk membuat struktur tabel ketika proses insert, sehingga tidak perlu lagi membuat tabel terstruktur. KELEBIHAN MONGO DB Kelebihan lain dari MongoDB : - Replikasi, fitur yang bermanfaat untu backup data secara realtime. - Auto-Sharding, fitur untuk memecah database yang besar menjadi beberapa bagian demi optimalisasi performa database. - MongoDB juga sudah mendukung C, C++, C#, Erlang, Haskal, Java, Javascript, Net. - Cross-platform, sehingga dapat digunakan di windows, Linux, OS X dan Solaris. - GridFS, spesifikasi yang digunakan untuk menyimpan data yang sangat besar. KEKURANGAN MONGODB - MongoDb harus diinstal di sebuah server, dan ketika kita menggunakan PHP juga harus merestart server driver MongoDB dapat digunakan oleh PHP. - Belum support di hosting, namun bisa di akali dengan menggunakan MongoHQ ( untuk free terdapat limit sampai 16 MB ). - MongoDb belum cocok digunakan pada sistem informasi yang berkaitan dengan keuangan karena MongoDB tidak mendukung transaction SQL. CARA KERJA MONGO DB Data yang disimpan dalam MongoDb merupakan dokumen JSON, dokumen tersebut merupakan struktur data yang terditi dari pasangan ( Key ) dan nilai (Value ). Bagian – bagian dtruktur dalam dokumen mirip dengan kolom relasional database dan berupa berbagai tipe data, termasuk dokumen lain, array, dan dokumen array. Istilah table di MongoDB dinamakan collections Istilah rows di MongoDB dinamakan documents CARA KERJA MONGO DB Berdasarkan model penyimpanan datanya, MongoDB dikelompokan menurut format penyimpanan dokumennya, yaitu : - Dokumen Database, yaitu setiap satu data objek disimpan dalam satu dokemen yang bisa terdiri dari key – value, dan value itu sendiri berupa array atau key – value betingkat. - Grafik, yaitu format penyimpanan data dalam struktur grafik. Format grap digunakan untuk data yang saling berhubungan seperti jejaring sosial. Seperti : Neo4J dan FlockDB, FlockDB yang saat ini dipakai oleh twitter. CARA KERJA MONGO DB Berdasarkan model penyimpanan datanya, MongoDB dikelompokan menurut format penyimpanan dokumennya, yaitu : - Key – Value, merupakan sreuktur data yang terdiri dari pasangan key dan nilai (value). Contoh jenis database ini adalah Apache Cassandra. - Object database, yaitu format database yang disimpan dalam objek. CARA MENGGUNAKAN MONGO DB Instal terlebih dahulu Software “MongoDb”, kemudian buka aplikasi MongoDB. Klik 2 kali sampai muncul gambar dibawah. Klik Next CARA MENGGUNAKAN MONGO DB Jika muncul seperti gambar dibawah, pilih Complete lalu di klik next CARA MENGGUNAKAN MONGO DB Jika keluar seperti gambar dibawah ini tunggu sampai prosesnya selesai, CARA MENGGUNAKAN MONGO DB Kemudian, buka aplikasi MongoDb dan klik Connect CARA MENGGUNAKAN MONGO DB Jika ingin membuat database, klik create database CARA MENGGUNAKAN MONGO DB Masukan nama database : Penjualan, tambahkan entitas : Penjual Kemudian Create Database CARA MENGGUNAKAN MONGO DB Jika ingin menambahkan Entitas / koleksi, klik Penjualan lalu klik create collection, CARA MENGGUNAKAN MONGO DB Tambahkan atribut dengan klik entitas Penjual , kemudian klik Add data, lalu pilih Insert Dokument CARA MENGGUNAKAN MONGO DB Tambahkan data seperti contoh dibawah ini, lalu klik insert Maka hasilnya seperti ini CARA MENGGUNAKAN MONGO DB Untuk mengisi atribut Pembeli dan barang sama seperti mengisi pada data penjual CARA MENGGUNAKAN MONGO DB Jika ingin menghapus database yang tidak terpakai, klik, drop database di pinggir database yang akan dihapus, misalnya kita ingin menghapus database kampus maka ketik “kampus” di kotak dialog dan klik drop database