Monday, March 28, 2016

NoSQL Database


Pengertian NoSQL Database

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.

Harus ada cara lain untuk menanggulangi masalah ini,  dan NoSQL lah solusinya. 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, . 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 NoSQL Database
  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.
Jenis - Jenis NoSQL Database

  1. MongoDB
  2. CouchDB
  3. Cassandra
  4. Redis
  5. Riak
  6. Neo4J
  7. OrientDB
Kelebihan dan Kekurangan NoSQL Database

Kelebihan :

  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 :
  1. Hostingnya mahal. beberapa layanan di luar negeri mencharge biaya 100-200USD untuk hosting database noSQL.
  2. Sulitnya mencari hosting Cpanel yang mendukung database MongoDB atau database noSQL lainnya.
  3. 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.
referensi :
https://id.wikipedia.org/wiki/NoSQL
http://www.candra.web.id/pengantar-database-nosql-dan-mongodb/
http://blog.randisunarsa.web.id/?p=383

2 comments:

  1. Bosan tidak tahu mau mengerjakan apa pada saat santai, ayo segera uji keberuntungan kalian
    hanya di D*EW*A*P*K / pin bb D87604A1
    dengan hanya minimal deposit 10.000 kalian bisa memenangkan uang jutaan rupiah
    dapatkan juga bonus rollingan 0.3% dan refferal 10% :)

    ReplyDelete
  2. ingin mendapatkan uang banyak dengan cara cepat ayo segera bergabung dengan kami di f4n5p0k3r
    Promo Fans**poker saat ini :
    - Bonus Freechips 5.000 - 10.000 setiap hari (1 hari dibagikan 1 kali) hanya dengan minimal deposit 50.000 dan minimal deposit 100.000 ke atas
    - Bonus Cashback 0.5% dibagikan Setiap Senin
    - Bonus Referal 20% Seumur Hidup dibagikan Setiap Kamis
    Ayo di tunggu apa lagi Segera bergabung ya, di tunggu lo ^.^

    ReplyDelete