School of Information Systems

SQL vs NoSQL

SQL merupakan Bahasa untuk mengelola database, singkatan dari Structure Query Language. Secara lisan sangat mudah dibaca karena merupakan bahasa generasi keempat, artinya sintak nya sudah menggunakan kata yang mudah dibaca oleh manusia, contohnya SELECT, FROM, WHERE dll. Di dalam SQL terdapat dua tipe bahasa yaitu DDL (Data Definition Language) dan DML (Data Manipulation Language). Dua tipe bahasa tersebut mempunyai fungsi yang berbeda tentunya. DDL digunakan untuk membuat stuktur tabel, sedangkan DML digunakan untuk mengelola data di dalam tabel yang telah dibuat. SQL biasa digunakan pada data model relational, artinya setiap tabel saling berhubungan untuk menghasilkan informasi yang diinginkan.

Sudah kurang lebih 20 tahun bahasa SQL digunakan oleh para developer. Dengan adanya teknologi Internet semua hal dapat berubah. Transaksi data setiap hari semakin bertambah dan para developer merasakan adanya kekurangan pada bahasa SQL. Salah satunya adalah saat data diminta SQL memerlukan memori yang besar, karena harus melihat pada tabel – tabel yang ada pada database kita. Jika database kita kecil hal tersebut tidak masalah, namun jika database kita besar itu akan mengurangi kinerja dari database kita. Dari latar belakang kondisi tersebut banyak developer mulai mencari cara untuk mengatasinya, dan ditahun 2000 muncul sebuah gerakan yang disebut “noSQL Movement” yang diprakasai oleh Johan Oskarsson. Pergerakkan ini menghasilkan sebuah mekanisme dimana untuk mengambil data tidak lagi menggunakan bahasa SQL.

NoSQL bukan merupakan bahasa. NoSQL adalah sebuah mekanisme untuk menyimpan data dan mengambil data yang dilakukan oleh database kita. NoQSL tidak membutuhkan data model relational dan bahasa SQL untuk melakukan hal tersebut. NoSQL menggunakan metadata pada database kita dan memanfaatkan index dari data tersebut. NoSQL mempunyai empat mekanisme:

  • Table-oriented, contoh: Google dengan Big Table dan juga Facebook dengan Cassandra,
  • Graph-oriented,
  • Document-oriented database, contoh: MongoDB dan juga CouchDB,
  • Key-value store, contoh: Memcache dan Redis

Jika kita bandingkan SQL dengan NoSQL, masing – masing mempunyai keuntungan dan kerugian masing – masing. Kita tidak dapat mengatakan NoSQL lebih baik dari SQL atau sebaliknya. Bahkan beberapa perusahaan menggunakan keduanya. Dibawah ini merupakan data perbandingan kekurangan dan kelebihan dari SQL dan NoSQL.

  SQL NoSQL
Query +
Transaksi +
Konsistensi +
Scalability +
Management +
Schema +
 

Untuk hal query SQL memang jauh unggul, karena SQL sangat mudah untuk mengubah dari satu query ke query yang lainnya. Namun NoSQL hal tersebut sangatlah rumit, NoSQL lebih cocok untuk transaksi yang sama. Dari tabel diatas jika dianalisa maka dapat dikatakan SQL sangatlah cocok untuk transaksi harian dan NoSQL sangatlah cocok jika diterapkan pada transaksi histori. SQL vs NoSQL hasilnya adalah seri.

Novan Zulkarnain, ST., Mkom.