Pengolahan Database Menggunakan NoSQL

Tuesday, 26 February 2013 10:45
Pengolahan Database Menggunakan NoSQL

Siapa pun saat ini pasti menggunakan database. Baik perseorangan, perusahaan kecil apalagi perusahaan besar. Database atau basis data jika dalam bahasa Indonesia, memiliki fungsi sebagai tempat penyimpanan data - data yang di dapatkan. Database ini memiliki skala di mulai dari kecil sampai Sangat Besar seperti Big Data. Skala terkecil mungkin di dapatkan dari pengumpulan data pembelian barang perhari dan yang terbesar mungkin di dapatkan dari kebiasaan dari para pembeli. Untuk ukuran kecil masih memungkinkan penggunakan Excel atau spreadsheet sebagai basis data, tetapi untuk skala yang besar hal ini agak riskan untuk dilakukan. Dan untuk melakukan penyimpanan ini dibutuhkan sebuah Basis Data yang sangat mumpuni atau tangguh. Hal ini untuk menjaga skalabilitas (ketersediaan) data, kecepatan pengolahan data, dan keamanan data yang di simpan di dalam basis data. Untuk itu muncul lah perusahaan - perusahaan yang mengeluarkan produk produk basis data yang di peruntukan pengolahan data. Sebagai contoh Oracle dengan produk Oracle database-nya mereka, lalu IBM dengan Db2, Microsoft dengan SQL Server, dan terakhir ada MySQL. Selain itu ada lagi produk - produk pengolahan database.

Di awal kelahiran dari database, pengolahan database dilakukan menggunakan bahasa SQL. Bahasa ini menjadi salah satu pondasi dari kelahiran dari database. Dan penggunaannya pun masih digunakan sampai sekarang. Tetapi trend saat ini arah penggunaan SQL mulai tergerus dengan kehadiran NoSQL. Penggunaan NoSQL mulai menggerus keberadaan MySQL, Oracle, SQL Server. Hal ini dikarenakan penggunaan yang lebih mudah dan kemampuan yang lebih baik. Sebagai contoh penggunaan Hadoop sebagai basis data dalam skala besar mulai menggantikan Oracle dan SQL Server, dan Mongodb mulai bersaing ketat dengan penggunaan MySQL.

Penggunaan NoSQL saat ini tidak ditujukan untuk menjadi pengganti dari Basis data Relational atau lebih dikenal dengan SQL (Structured Query Languange). Karena NoSQL dikembangkan untuk memecahkan masalah - masalah yang dihadapi oleh database dengan skema relasional.

Perbedaan dari NoSQL dengan SQL :

  • Perbedaan utama yang menyolok antara SQL dan NoSQL ada di dalam cara penulisan database mereka. Jika SQL menggunakan relasional sebagai penyambung antara data - data di dalam tabel database mereka. Dan NoSQL tidak menggunakan Relasional sebagai cara mereka untuk menyambungkan antar data mereka. NoSQL menggunakan 4 metode dalam cara mereka untuk menstored data, Key Values stores, Document oriented, Table Oriented, dan terakhir Graph Oriented.

  • Perbedaan yang kedua NoSQL tidak menggunakan Schema relational, jika di dalam SQL kita harus mendefinisikan table yang akan digunakan. Berbeda dengan SQL, NoSQL tidak perlu untuk mendefinisikan terlebih dahulu Table yang akan digunakan.

  • Ketiga NoSQL memiliki kemampuan "elastis” yang lebih baik dibandingkan SQL. Untuk menambah jumlah server basis data di dalam NoSQL, lebih mudah karena kita tidak perlu mendapatkan downtime yang terjadi.

  • Integrated Caching, NoSQl memiliki kemampuan untuk mentransformasikan data dengan lebih cepat hal ini dikarenakan NoSQL menggunakan cache-nya di dalam sistem memori.

Jenis metode yang digunakan NoSQL untuk menstored Database:

  • Key Value Stores digunakan di NoSQL, Key Values ini berfungsi untuk menyimpan key unique, sebagai penanda index. Dan penggunaanya boleh terstruktur dan tidak terstruktur.

  • Document Oriented ,dibandingkan menggunakan tabel sebagai struktur data yang akan disimpan, NoSQL menggunakan Document Oriented sebagai struktur penyimpanannya. Dengan begini kita bia menambahkan field dengan panjang value dengan lebih mudah,flexible tidak terlalu terikat dengan ukuran dari strktur tabel.

  • Table Oriented, NoSQL menggunakan Tabel sebagai cara mereka untuk men-stored data mereka. Cara ini digunakan oleh Google Big Table.

  • Graph database, cara terakhir menggunakan konsep graph sebagai cara melakukan stored di dalam database NoSQL. Di antara ketiga yang lain, cara Graph masih terbilang baru di dalam implementasinya.

Sampai saat ini tercatat ada 150 Database yang menggunakan konsep NoSQL. Dengan begini sudah mulai banyak varian - varian dari aplikasi database yang menggunakan konsep NoSQL. Tetapi hal ini tidak menandakan bahwa penggunaan SQL akan digantikan oleh NoSQL, karena hal ini mempertimbangkan kebutuhan mana yang harus digunakan. Karena baik database yang menggunakan relational ataupun non-relational (NoSQL) memiliki kelebihan masing - masing. [ENJ]