NoSQL adalah istilah yang dikenal dalam teknologi komputasi untuk
merujuk kepada kelas yang luas dari sistem manajemen basis data yang
di identifikasikan dengan tidak mematuhi aturan pada model sistem
manajemen basis data relasional yang banyak digunakan.
NoSQL
tidak dibangun terutama dengan table dan
umumnya tidak menggunakan SQL untuk memanipulasi data, sehingga sering
ditafsirkan sebagai “tidak hanya SQL”.
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.
A.
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.
B.
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 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.
A.
Format Dokumen /Struktur data di MongoDB
B.
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.
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
C.
Pemakai MongoDB
MongoDB
telah dipakai oleh perusahaan besar seperti SourceForge.net, CodeAcademy,
FourSquare dan Craiglist.
Berikut adalah tutorial penginstallan
Mongo DB
Sumber
: