NoSQL adalah sebuah konsep
mengenai penyimpanan data non-relasional. Berbeda dengan model basis data
relasional yang selama ini digunakan, NoSQL menggunakan beberapa metode yang
berbeda-beda ( Wikipedia ). Metode ini bergantung dari jenis database yang
digunakan. Karena NoSQL sendiri merupakan konsep database, dan pada
implementasinya, banyak jenis-jenis dari NoSQL ini.
NoSQL sangat berguna pada
data-data yang terus-menerus berkembang, dimana
data tersebut sangat kompleks sehingga sebuah database relational tidak
lagi bisa mengakomodir. Salah satu bentuknya adalah ketika suatu data saling
berhubungan satu sama lain, maka akan muncul proses duplikasi data. Dimana data
saling memanggil ke beberapa permintaan, tambahan data baru, perubahan data,
dan lain-lain dengan key yang sama. Karena faktor hubungan antar data yang sama
terjadi terus-menerus, mendorong faktor redudansi data, data menjadi berlipat-lipat,
dan pada akhirnya akan menyebabkan crash pada database berkonsep RDBMS.
NoSQL menyederhanakan proses yang
terjadi dalam sistem basis data relasional. Dimana hal-hal yang menyebabkan
redudansi, dihilangkan sehingga trafik server akan seimbang. Penyederhanaan
proses ini memungkinkan data direplikasi di banyak server secara mudah dan
menjamin ketersediaan data.
Contoh nyata penjelasan diatas
bisa teman-teman lihat pada situs jejaring sosial, FACEBOOK.COM. Pernahkah
berfikir sebesar apa server penyimpanan facebook dengan anggota ribuan orang
tersebut ?. Apabila teman-teman alim, mungkin tidak jadi masalah, tapi
bagaimana jika ada yang narsis lalu sering upload foto setiap hari ?, bagaimana
kalau setengah dari member facebook adalah orang-orang yang narsis ?, berapa
besar ukuran yang dibutuhkan facebook pada servernya ?
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
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.
Reffrensi :
http://blog.randisunarsa.web.id/?p=383
http://www.candra.web.id/pengantar-database-nosql-dan-mongodb/
Reffrensi :
http://blog.randisunarsa.web.id/?p=383
http://www.candra.web.id/pengantar-database-nosql-dan-mongodb/
Tidak ada komentar:
Posting Komentar