Perbedaan SQL dan NoSQL

 


Hallo sahabat Tips Ngoding Kali ini kita akan membahas perbedaan SQL dan NoSQL

Berbicara mengenai database, mana yang lebih baik antara SQL atau NoSQL adalah topik yang selalu menjadi perdebatan baik yang baru belajar maupun profesional yang sudah lama malang melintang di dunia database sehingga dipanggil suhu oleh para juniornya. Tak main-main, perbedaan ini sering memanas dan menimbulkan konflik antara teman kerja atau pun teman komunitas persis seperti perdebatan fans sepakbola atau fans politik. Beberapa dekade yang lalu  SQL database merupakan pilihan wajib untuk jenis database karena memang pada saat itu SQL adalah satu-satunya jenis database yang dapat diandalkan.

SQL

SQL merupakan singkatan dari Structured Query Language. Sebenarnya SQL sendiri merupakan bahasa yang digunakan untuk mengatur/mengelola data dalam database relasional. Jadi sebenarnya SQL sendiri pada mulanya tidak digunakan untuk menyebut jenis database. Akan tetapi karena jenis (kategori) database yang berbeda memiliki bahasa query yang berbeda juga maka agaknya salah kaprah yang juga dialami oleh penulis (karena alasan SEO tentunya) dapat dimaklumi.

Database relasional menggunakan ‘relasi’ (yang biasanya disebut tabel) untuk menyimpan data dan mencocokkan data tersebut dengan memakai karakteristik umum di setiap dataset. Beberapa contoh database management system yang menggunakan SQL antara lain Oracle, Sybase, Microsoft SQL Server, PostgreSQL.

Munculnya SQL berawal dari peran Larry Ellison salah satu pendiri Oracle yang mengimplementasikan ide dari petinggi IBM Edgar F. Cobb. Cobb mengeluarkan makalah pada tahun 70’an yang mendeskripsikan tentang database di mana objek dapat dikonstruksikan dan di-query memakai sesuatu yang disebut SQL. Dia menggunakan SQL untuk membuat data (dalam objek yang disebut tabel) dan skema untuk data tersebut yang mendeskripsikan isian dalam beberapa kolom. Sedangkan untuk setiap record dalam SQL database disebut ‘baris’.

NoSQL

Dilihat dari namanya, database NoSQL sebenarnya sudah cukup menjelaskan. NoSQL merupakan database yang tidak membutuhkan skema dan tidak memiliki relasi untuk setiap tabel. Semua bentuk dokumen dari NoSQL adalah JSON yang mudah dibaca dan dimengerti. NoSQL banyak diminati karena memiliki performa yang tinggi dan bersifat non-relasional sehingga dapat memakai berbagai model data. Beberapa contoh dari database NoSQL yaitu MongoDB, MarkLogic, Couchbase, CloudDB, dan Dynamo DB.

Perbedaan SQL dan NoSQL

Berikut kita lihat bagaimana perbedaan utama dari SQL dan NoSQL dari bagan dibawah ini :

Perbedaan SQL NOSQL
Tipe Database Relational Database Non-Relational Database
Skema Pre-Defined Schema Dynamic Schema
Kategori Database Table-Based Database Document-Based Database
Bahasa Stuctured Query Language Un-Structured Query Language
Kompleksitas Query Sangat Cocok Untuk Query Kompleks Tidak Cocok Untuk Query Kompleks
Online Processing Digunakan Untuk OLTP Digunakan Untuk OLAP
Basis Properties Berdasarkan Basis ACID Properties Berdasarkan Basis CAP theorem
Skalabilitas Dapat Diskalakan Secara Vertikal Dapat Diskalakan Secara Horizontal
Elastisitas Membutuhkan Downtime Dalam Banyak Kasus Otomatis Tidak Perlu Outage
Contoh Mysql, Oracle MongoDB, Cassandra


Sumber:

Posting Komentar

Lebih baru Lebih lama