NoSQL

Tanpa disadari, ternyata aku semakin jarang menulis hal-hal yang berbau teknis di blog ini. Jadi dengan tulisan ini, aku mencoba untuk menulis hal yang sedikit teknis. Tulisan ini hanya sebuah pengantar ke NoSQL, dibuat salah satunya untuk mengakomodasi keingintahuan mas miftahgeek dalam postinganku sebelumnya beberapa hari yang lalu.

Apa itu NoSQL?

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 tersebut menurut 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.

Tunggu tulisanku selanjutnya mengenai NoSQL… :D

Credits: Movie Seating webcomic by Randall Munroe of xkcd.com.

About these ads
Tulisan Sebelumnya
Tulisan Berikutnya
Tinggalkan komentar

19 Komentar

  1. Wah, ternyata dibahas juga, Thanks, lumayan ada gambaran sekarang..

    Balas
  2. wah mantep . .
    perlu banyak membaca ini biar tau hehe . .

    Balas
  3. @miftahgeek:
    he3.. sama-sama mas..
    mari kita belajar bersama..

    @mas arif:
    iya mas…
    membaca itu perlu.. :D

    Balas
  4. yah gagal pertamax

    Balas
  5. Artikel yang sangat dibutuhkan….

    Balas
  6. ada yg makek mongoDB?? btw ni anak jogja smua y? :D

    oiya,,,pgn diskusi lebih jauh tentang nosql, join aja ke http://groups.google.com/group/id-nosql

    Balas
  7. wah, terima kasih buat infonya mas angga..:D

    Balas
  8. aan

     /  Oktober 5, 2010

    makasi infonya

    Balas
  9. yeyen

     /  November 4, 2010

    hai…
    lam kenal…
    thanks utk pembahasan ini. aq lagi kuliah nih IT, trus di suruh buat laporan ttg db dengan memilih topik yg di kasih dosen. ada topik ttg NoSQL. setelah melihat ini, aq jadi pengen pilih topik ini, tapi aq ga tau banyak apalagi soal contoh querynya… bisa ga di bahas contoh2nya?? atau di tmbah info lagi soal NoSQL. please…..
    thanks yah

    Balas
  10. dadang

     /  Januari 30, 2011

    apa sih beda no sql dengan sql server dan mysql…..?

    trims…. udah bahas no sql…

    Balas
    • NoSQL bersifat non-relasional, berbeda dengan SQL Server dan MySQL yang bersifat relasional.

      Dengan kata lain, NoSQL tidak memiliki aturan entitas dan relational seperti pada relational database..

      Balas
  11. ini non relational, artinya tidak berelasi?? … , databasenya kan bakal lebih dari satu table,, bagaimana bisa si table berkomunikasi atau nyambung kalau mereka tidak berelasi?

    Balas
  12. hehehehehe…sekalian ke tutorialnya mas…

    Balas
  13. Assalamualaikum…
    Apa konsep NoSQL ini seperti konsep basis data terdistribusi?

    Balas
    • setahu saya berbeda..
      NoSQL lebih ke non-transactional database sehingga mudah untuk menangani data berukuran besar dengan cara duplikasi data..
      basis data terdistribusi masih ada transactionalnya sehingga harus ada penanganan bila terjadi update data secara asynchronous..
      CMIIW..

      Balas
  1. MongoDB « Puji Rahmadiyanto
  2. Internet nut's Box

Ada apa di pikiranmu?

Isikan data di bawah atau klik salah satu ikon untuk log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Logout / Ubah )

Twitter picture

You are commenting using your Twitter account. Logout / Ubah )

Facebook photo

You are commenting using your Facebook account. Logout / Ubah )

Google+ photo

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s

Ikuti

Get every new post delivered to your Inbox.

Bergabunglah dengan 27 pengikut lainnya.

%d bloggers like this: