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:
Tags:
Berita