Pengantar Database NoSQL dan MongoDB

mongodb

Ketika kita berbicara tentang database, maka pikiran kita langsung tertuju ke perintah “select * from table”, atau Oracle, PostgreSQL, MySQL dan SQL server. Dua hal diatas adalah database Relasional yang cukup populer ditelinga programer atau mahasiswa IT. Namun Apa itu database NoSQL? Database NoSQL adalah database yang tidak menggunakan realasi antar tabel dan tidak menyimpan data dalam format tabel kaku (kolom yang fix) seperti layaknya Relasional Database.

Pengelompokan database noSQL

Secara umum, database noSQL dibagi menurut format penyimpanan dokmentnya . Berikut ini adalah pengelompokan database noSQL berdasarkan model (penyimpanan) datanya

  1. Document Database contohnya MongoDB, seiap satu object data disimpan dalam satu dokumen. Dokumen sendiri bisa terdiri dari key-value, dan value sendiri bisa berupa array atau key-value bertingkat.
  2. Graph , Format penyimpanan data dalam struktur graph. Format ini sering dipakai untuk data yang saling berhubungan seperti jejaring social. Contoh database noSQL dengan format ini adalah Neo4J dan FlockDB. FlockDB dipakai oleh twitter.
  3. Key – Value,  contoh database jenis ini adalah Apache Cassandra.
  4. Object Database. Format database yang disimpan dalam object object, Object disini sama dengan pengertian object di Pemrograman beroreintasi object , Contoh databasenya adalah Db4o.
  5. Tipe lainnya adalah tabular, tuple store dan berbagai jenis lain yang tidak terlalu populer.

Kelebihan NoSQL di banding Relasional Database

  1. NoSQL bisa menampung data yang terstruktur, semi terstruktur dan tidak terstuktur secara efesien dalam skala besar (big data/cloud).
  2. Menggunakan OOP dalam pengaksesan atau manipulasi datanya.
  3. NoSQL tidak mengenal schema tabel yang kaku dengan format data yang kaku. NoSQL sangat cocok untuk data yang tidak terstruktur, istilah singkat untuk fitur ini adalah Dynamic Schema.
  4. Autosharding, istilah sederhananya, jika database noSQL di jalankandi cluster server (multiple server) maka data akan tersebar secara otomatis dan merata keseluruh server.

Kekurangan dari database NoSQL sendiri , minimal bagi saya adalah Hostingnya mahal. beberapa layanan di luar negeri mencharge biaya 100-200USD untuk hosting database noSQL. Selain itu, saya belum pernah menemukan hosting Cpanel yang mendukung database MongoDB atau database noSQL lainnya.

Selain itu, karena bervariasinya produk dan format penyimpanan, berpindah antar satu produk database ke produk noSQL lainnya perlu waktu untuk belajar. Contohnya ketika anda pindah dari MongoDB ke Cassandra, maka anda harus belajar lagi dari awal, berbeda dengan database RDMS.

Pengantar MongoDB

mongodb

MongoDB adalah salah satu produk database noSQL  OPEN SOURCE yang menggunakan struktur data JSON untuk menyimpan datanya. MongoDB adalah salah satu database noSQL yang paling populer di internet. MongoDB sering dipakai untuk aplikasi berbasis Cloud, Grid Computing, atau Big Data.

Format Dokumen /Struktur data di MongoDB

crud-annotated-document

Terminologi dan konsep MongoDB 

berikut ini adalah terminologi dan konsep yang perlu anda tahu di MongoDB, untuk memudahkan anda, maka akan saya buat tabel perbandingan dengan konsep yang ada di SQL database.

Istilah RDBMS Istilah Mongo
 database  database
 table  Collection
 row  Document atau BSON document
 kolom  Field
 index  index
 table join  embeded document dan link
 Primary key*  Primary Key

Untuk primary key, walaupun penamaan istilahnya sama, namun dalam sisi implementasi sangat berbeda. Primary key di RDBMS adalah kolom unik di tabel yang didefinisikan sendiri oleh user . MongoDB secara otomatis membuatkan primary key di field _id dan akan terisi secara otomatis

Pemakai MongoDB

MongoDB telah dipakai oleh perusahaan besar seperti SourceForge.net, CodeAcademy, FourSquare dan Craiglist.

Download MongoDB

MongoDB tersedia untuk platform Linux, Windows dan Mac. Anda bisa mendownloadnya di http://www.mongodb.org/downloads.

Untuk instalasi dan perintah dasar MongoDB akan saya bahas di artikel selanjutnya.

Author: Candra Adi Putra

Candra Adi Putra adalah Alumni STMIK AKAKOM Yogyakarta. Like Candralab Studio Di Facebook.

1 thought on “Pengantar Database NoSQL dan MongoDB”

Tinggalin komentar dong!