Menurut Wikipedia, 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. Metode-metode tersebutmenurut Dwight Merriman, salah satu kontributor MongoDB, di antaranya adalah:

  • Key-value stores, more or less pure. I.e., they store keys+BLOBs (Binary Large OBjects), except that the “Large” part of “BLOB” may not come into play.
  • Table-oriented, more or less. The major examples here are Google’s BigTable, and Cassandra.
  • Document-oriented, where a “document” is more like XML than free text. MongoDB and CouchDB are the big examples here.
  • Graph-oriented. To date, this is the smallest area of the four. I’m reserving judgment as to whether I agree it’s properly included in HVSP and NoSQL.

MENGAPA NOSQL? APA YANG SALAH DENGAN BASIS DATA RELASIONAL?

Sebenarnya tidak ada yang salah dengan basis data relasional. Terkadang, ada beberapa kasus di mana data yang akan diproses berukuran sangat besar dan teknik duplikasi basis data pada sistem basis data relasional tidak dapat digunakan. Salah satu contohnya adalah Facebook. Pengguna Facebook mencapai ratusan juta. Jika ada separuh saja dari total semua pengguna Facebook yang narsis dan terus melakukan update status atau apapun di sana, bayangkan berapa besar data yang dihasilkan. Dan aku yakin, hampir sebagian besar pengguna Facebook (termasuk anda, dan mungkin saya :p) adalah orang-orang yang secara aktif (narsis) menggunakan layanan Facebook.

Pengolahan data yang sedemikian besar tidak dapat dilakukan hanya dengan melakukan duplikasi sistem basis data. Harus ada cara lain yang memungkinkan pemrosesan data berukuran besar. Salah satu cara yang mungkin untuk diterapkan adalah dengan menggunakan sistem terdistribusi. Metode-metode yang telah disebutkan di atas memungkinkan penyederhanaan proses dalam basis data sehingga dapat diterapkan secara terdistribusi. Metode-metode ini beserta NoSQL sering disebut sebagai HVSP (High-Value Simple Processing).

Metode-metode dalam NoSQL menyederhanakan proses yang terjadi dalam sistem basis data relasional. Penyederhanaan proses ini memungkinkan data direplikasi di banyak server secara mudah dan menjamin ketersediaan data. Namun di sisi lain, penyederhanaan proses ini memiliki beberapa efek samping. Beberapa metode tersebut mengurangi integritas data, satu hal yang dijamin oleh basis data relasional. Namun demikian, ada beberapa implementasi NoSQL yang juga telah menyediakan integritas data seperti basis data relasional.

ALTERNATIF BAGI BASIS DATA RELASIONAL

Dalam beberapa sumber, NoSQL ditegaskan tidak untuk menggantikan basis data relasional. Tujuan pengembangan NoSQL adalah untuk menyelesaikan berbagai masalah yang tidak bisa ditangani oleh basis data relasional, yaitu masalah skalabilitas untuk pemrosesan data berukuran besar. Jika data yang anda gunakan dalam aplikasi nanti akan berkembang menjadi berukuran besar, maka NoSQL dapat menjadi pertimbangan alternatif sebagai penyimpanan data.

Sumber bacaan untuk NoSQL dapat dilihat di http://nosql-database.org/links.html.

Print Friendly