Pengertian SQL dan NoSQL

SQL dan NoSQL

    Pada kesempatan ini saya akan menuliskan tentang SQL dan NoSQL. Teman-teman mungkin sudah pernah mendengar tentang SQL dan NoSQL, bahkan ada yang sudah mengerti dan faham apa itu SQL dan NoSQL. Tetapi tidak ada salahnya saya berbagi sedikit, karena berbagai tentang ilmu dan kebaikan itu akan mendatangkan ilmu dan kebaikan juga.

    Gambaran umum dari bahasa SQL dan NoSQL yaitu bahasa yang digunakan untuk melakukan operasi pada struktur database, tetapi kedua bahasa ini memiliki cara yang kontras dalam melakukannya.

SQL

   SQL singkatan dari Structured Query Language. Pengertian dari SQL sendiri yaitu suatu bahasa yang digunakan untuk mengakses data yang terdapat dalam sebuah database relasional. SQL saat ini digunakan sebagai bahasa standart de facto untuk manajemen database relasional. SQL sendiri sering disebut dengan istilah Query.
  Pada tahun 1969 Dr. Edgar F. Codd dengan papernya tentang Teori Database Relational, mengajukan sebuah bahasa yang disebut DSL/Alpha untuk memanajemen data dalam relational database. Pada tahun 1970 IBM dengan team penelitinya (Donald D. Chamberlin dan Raymond F. Boyce) mengembangkan SQUARE menjadi SEQUEL (Structured English Query Language). Sequel ini digunakan untuk mengoperasikan prototype RDBMS pertama milik IBM system R.
  Melihat potensi dari bahasa SQL ini, maka perusahaan Relational Software, Inc (Oracle Corporation) mengembangkan versi SQL untuk RDBMS. Pada Juni 1979, RDBMS komersial pertama dari Oracle yang mengimplementasikan SQL dirilis yaitu Oracle V2 (versi 2).
   Semakin berkembangnya SQL yang mulai diimplementasikan oleh berbagai RDBMS dangan menggunakan versi SQL mereka sendiri, sehingga menimbulkan permasalahan karena penerapan SQL antara satu aplikasi dengan aplikasi database yang lain tidak seragam. Maka pada tahun 1986, ANSI American National Standards Institute) merancang sebuah standar untuk bahasa SQL. Pada tahun 1987 International Organization for Standardization (ISO) juga mengeluarkan standar untuk bahasa SQL. Pada tahun 2011 dirilis standar SQL yang dinamakan SQL 2011, dengan dirilisnya standar SQL 2011 ini diharapkan adanya keseragaman bahasa SQL antar aplikasi RDBMS yang mengimplementasikan SQL. Meski begitu ada juga RDBMS yang tidak standar seperti MySQL, didalamnya ada “fitur” SQL yang tidak terdapat pada Oracle begitu juga sebaliknya.
     SQL digunakan untuk mengelola data dala sistem manajemen basis data relational, dimana data disimpan dalam cara yang terstruktur dan terorganisasi dalam tabel yang terdiri dari kolom dan baris. Kolom dalam basis data berisi bidang/tempat yang berkaitan dengan data yang harus disimpan. Sedang baris yang berhubungan dengan kolom berisi bagian-bagian data yang disebut dengan entri.
     Dalam bahasa SQL yang terdapat pada berbagai RDBMS memiliki perintah-perintah dasar yang sama, contoh dalam hal pembuatan tabel, perintah ini dapat digunakan baik di Oracle maupun MySQL. Didalam SQL perintah-perintah (instruksi) dikelompokkan berdasarkan jenis dan fungsinya, terdapat 3 jenis perintah dasar SQL dan 2 jenis perintah tambahan, yaitu :
  1. Data Definition Language (DDL), jenis instruksi (perintah) ini berkaitan dangan pembuatan struktur tabel maupun basis data. Ternmasuk : Create, Alter, Rename dan Update.
  2. Data Manipulation Language (DML), jenis instruksi yang berkaitan dengan data yang yang ada dalam tabel, missal bagaimana menginput, menghapus, memperbaharui dan membaca data yang tersimpan dalam basis data. Contoh perintah DML : DELETE, UPDATE, INSERT dan SELECT.
  3. Data Control Language (DCL), jenis instruksi yang berkaitan dengan manajemen hak akses pan pengguna (user) yang dapat mengakses basis data maupun tabel, (GRANT dan REVOKE).
  4. Transaction Control Language (TCL), yaitu perintah untuk proses transaksi. Perintah ini digunakan untuk perintah yang lebih dari 1, namun harus berjalan atua tidak sama sekali. Contoh perintahnya COMMIT, ROLLBACK dan SET TRANSACTION.
  5. Programmatic SQL, yaitu perintah yang berkaitan dengan sub program (stored procedure) maupun penjelasan mengenai struktur basis data. Contoh perintah programmatic SQL yaitu DECLARE, PREPARE, DESCRIBE dan EXPLAIN.

Kelebihan SQL (Dalam ha ini MySQL) yaitu :
  • Free
  • Lebih stabil dan tangguh
  • Memiliki security yang baik.
  • Mudah dalam memanajemen basis datanya.
  • Fleksibel dengan berbagai pemrograman.
  • Banyak komunitas tempat berdialog (diskusi) yang mendukung.
  • Softwarenya berkembang dengan pesat.


NoSQL

       NoSQL kependekan dari Not Only SQL, yaitu sebuah onsep penyimpanan data non-relationall. Dalam NoSQL menggunakan metode yang berbeda-beda. NoSQL biasanya digunakan untuk data-data yang terus berkembang, dimana data tersebut sangat kompleks yang tidak bisa lagi diakomodir oleh bahasa SQL (basis data relational).
Secara umum basis data NoSQL dapat dibagi menurut format penyimpanan documentnya, yaitu :
  1. Document Database, setiap satu object data disimpan dalam satu document. Document sendiri dapat terdiri dari key-value (Array atau key-value bertingkat). Contohnya MongoDB.
  2. Key-Value, contoh dari basis data jenis ini yaitu Apache Cassandra.
  3. Graph, format penyimpanan data pada format ini disimpan dalam struktur graph. Dan format ini biasa dipakai pada data yang saling berhubungan seperti jejaring social. Contoh basis data dengan format graph yaitu Neo4J dan FlockDB (dipakai Twitter).
  4. Object Database, yaitu format basis data yang disimpan dalam object-object (seperti Object dalam PBO), contoh basis datanya Db4o.
  5. Format yang lain diantaranya tuple store dan tabular.

Kelebihan NoSQL yaitu :
  • NoSQL  layaknya big data/cloud, dimana basis data ini dapat menampung semua data, baik yang terstruktur, semi terstruktur bahkan data yang tidak terstruktur.
  • Menggunakan OOP dalam pengaksesan dan manipulasi datanya.
  • Autosharding, jika dijalankan pada cluster server (multiple server), maka secara otomatis data akan tersebar merata keseluruh server (Sharing Otomatis).
  • Tidak mengenal schema tabel yang kaku dengan format data yang kaku. Schema dalam NoSQL adalah Dynamic Schema.

Kekurangan NoSQL yaitu :
  • Hosting untuk data NoSQL tergolong mahal.
  • Belum adanya standar format penyimpanannya, sehingga menyulitkan ketika akan pindah dari satu produk NoSQL yang satu ke prodek NoSQL yang lain.
  • Sulit mencari dukungan hosting Cpanel yang mendukung basis data MongoDB dan yang lainnya.

Tidak ada komentar:

Posting Komentar

Standard Internasional ISO 27001 dan Manfaat Keamanan Informasi Informasi sebagai Aset Penting Informasi adalah salah satu aset pen...