Perbedaan Database NoSQL Dengan SQL

SQL dan NoSQL

Di dunia programmer, untuk basis data kita akan lebih sering menggunakan model SQL atau yang merupakan singkatan dari (Structure Query Language). SQL sendiri adalah sekumpulan perintah khusus yang digunakan untuk mengakses data dalam database yang relational. SQL merupakan bahasa komputer yang mengikuti standar (American National Standart Institute) atau ANSI untuk memanajemen database realtional. Dengan SQL kita dapat melakukan akses, melihat data, mengambil data, menambah, mengubah dan menghapus data dari database yang sudah dibuat. Terdapat 3 (tiga) jenis perintah SQL, yaitu DDL, DML dan DCL.

. DDL atau Data Definition Language. DDL merupakan perintah SQL yang berhubungan dengan pendefinisian suatu struktur database, dalam hal ini database dan table. Perintah SQL yang termasuk dalam DDL antara lain : CREATE, ALTER, RENAME, DROP.

. DML atau Data Manipulation Language. DML merupakan perintah SQL yang berhubungan dengan manipulasi atau pengolahan data atau record dalam table. Perintah SQL yang termasuk dalam DML antara lain : SELECT, INSERT, UPDATE, DELETE.

. DCL atau Data Control Language. DCL merupakan perintah SQL yang berhubungan dengan pengaturan hak akses user, baik terhadap server, database, table maupun field. Perintah SQL yang termasuk dalam DCL antara lain : GRANT, REVOKE.

WHAT-IS-SQL-AND-WHY-IT-IS-GOOD-TO-BE-SKILLED-ON-SQL

SQL adalah bahasa dalam basis data yang hampir selalu kita gunakan. Namun, ada lawan dari SQL yang agak jarang kita kenal dalam merancang basis data. Bahkan mungkin bisa saya katakan referensi tentang lawan dari SQL ini, masih belum banyak beredar. Lawan tersebut adalah NoSQL (Not Only SQL).

NOSQL menurut Wikipedia adalah sistem menejemen database yang berbeda dari sistem menejemen database relasional yang klasik dalam beberapa hal. NOSQL mungkin tidak membutuhkan skema tabel dan umumnya menghindari operasi join dan berkembang secara horizontal. Akademisi menyebut database seperti ini sebagai structured storage, istilah yang di dalamnya mencakup sistem menejemen database relasional. NOSQL adalah database generasi terbaru yang mengarahkan kepada database yang tidak berelasi (non-relational), dapat disebarkan kepada siapapun (open-source) dan berskala horizontal (horizontal scale).

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 (Relational Database Manajement System).

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.

NoSQL

Contoh nyata dari pengguna NoSQL adalah situs jejaring sosial facebook.com. Facebook menggunakan database NoSQL untuk menanggulangi kedinamisan data yang terus berkembang semakin besar. Tidak akan bisa server SQL biasa menangani data seluruh facebook secara relational, NoSQL yang digunakan facebook dapat mengakomodir dinamisnya data yang berkembang menjadi tetap mudah di akses dan ringan dijalankan walau digunakan oleh sekian banyak orang.

Konsep Penyimpanan NoSQL

Sebagian besar sistem NOSQL pada masa awal tidak berusaha untuk memberikan atomicity, konsistensi, isolasi dan daya tahan jaminan, bertentangan dengan praktik yang berlaku di antara sistem database relasional. Namun di kemudian hari, beberapa database NOSQL dengan pembaruan terkini sudah mampu mengintegrasikan database yang non-relasional ke dalam bentuk database relasional sehingga dapat mempermudah pengguna yang masih belum akrab dengan bahasa standar yang diterapkan NOSQL.

Dilihat dari cara penyimpanan data saja basis data NOSQL tersebar dari cara penyimpanan :

. Key-value based (disimpan dalam bentuk kunci-isi berpasangan)

. Document based (disimpan dalam bentuk dokumen-dokumen)

. Column based (disimpan dalam bentuk kolom-kolom)

. Graph based (disimpan dalam bentuk grafik atau diagram)

Perbedaan Database NoSQL Dengan SQL adalah sebagai berikut:

1. SQL (Structure Query Language)

Wajib relational dalam menyusun data

· Setiap tabel harus didefinisikan

· Standar pada suatu tabel jelas dan terstruktur

· Sifat SQL adalah database yang cenderung vertikal (atas ke bawah)

· Untuk memperbesar skala, harus menambah daya CPU, SSD, RAM dan perangkat keras lainnya pada 1 server.

2. NoSQL (Not Only SQL)

· Tidak memerlukan kriteria relational dalam menyusun data

· Tidak perlu mendefinisikan tabel, bahkan untuk beberapa NoSQL, tidak memerlukan tabel yang jelas (model  graph dan Key-value)

· Tidak ada standar yang harus diikuti untuk menyusun data pada tabel bahkan data yang tersusun bisa secara dinamis berkembang tanpa perlu penyusunan standar tabel

· Sifat NoSQL adalah database horizontal yang semakin melebar ke samping utnuk mengikuti perkembangan data pada jenis yang sama namun terdapat penambahan pada data lain yang tidak dapat dibedakan dengan data sebelumnya · Untuk memperbesar skala, hanya perlu penambahan server DB yang di cluster untuk load balancing

Related Articles

Comments