Ketika mysql dan nosql bersaing
Pengertian SQL | SQL adalah kependekan dari Structured Query
Language. SQL adalah bahasa yang digunakan untuk mengakses data dalam basis
data relasional. Dalam penggunaannya SQL memiliki beberapa aturan yang telah
distandarkan oleh asosiasi yang bernama ANSI.
Saat ini hampir semua produk RDBMS menggunakan
SQL sebagai standar bahasa Query nya seperti Oracle, MySQL, MariaDB, SQL Server
dan lainnya. Oleh karena itu bagi Anda yang memiliki pengetahuan akan bahasa
Query yang satu ini menjadi sebuah keuntungan.
Ada beberapa hal yang menjadikan SQL sangat
populer, salah satunya adalah SQL relatif mudah untuk dimengerti oleh pengguna
yang awam sekalipun dalam bekerja menggunakan bahasa Query ini.
SQL pertama kali dikembangkan oleh beberapa
orang dari IBM, yang mana berdasarkan teori ER (Entity Relationship) dari Dr.
Codd. Setelah beberapa tahun melakukan pengembangan, akhirnya mereka berhasil
mengembangkan sebuah bahasa database dan diberi nama SEQUEL. Seiring
berjalannya waktu nama SEQUEL dirubah menjadi SQL, karena terdapat permasalahan
dengan nama tersebut. Sampai saat ini SQL telah banyak dipergunakan dan terus
dikembangkan.
Dalam penggunaannya perintah SQL dibagi menjadi
tiga bagian diantaranya, yaitu:
1. DDL (Data Definition
Language)
DDL (Data Definition Language) adalah perintah
SQL yang berkaitan dengan schema database seperti membuat database baru,
menghapus database, membuat tabel baru, menghapus tabel, membuat view baru dan
sebagainya.
Adapun yang termasuk dalam perintah DDL
diantaranya, yaitu:
§ Create
§ Alter
§ Drop
2. DML (Data Manipulation
Language)
DML (Data Manipulation Language) adalah perintah
SQL yang berkaitan dengan data yang ada di dalam database seperti menambah data
baru ke dalam tabel, memperbaharui data yang ada di dalam tabel, menghapus data
yang ada di dalam tabel dan mengambil data yang ada di dalam tabel.
Adapun yang termasuk dalam perintah DML
diantaranya, yaitu:
§ Insert
§ Update
§ Delete
§ Select
3. DCL (Data Control Language)
DCL (Data Control Language) adalah perintah SQL yang
berkaitan dengan pengontrolan data dan server databasenya seperti memberi izin
akses kepada user dan menghapus hak izin akses yang telah diberikan kepada
user.
Adapun yang termasuk dalam perintah DCL
diantaranya, yaitu:
§ Grand
§ Revoke
Software
dalam SQL
Ms SQL Server
Microsoft SQL Server adalah sebuah sistem
manajemen basis data relasional (RDBMS) produk Microsoft. Bahasa kueri utamanya
adalah Transact-SQL yang merupakan implementasi dari SQL standar ANSI/ISO yang
digunakan oleh Microsoft dan Sybase.
Oracle
Basis data Oracle
adalah basis data relasional yang terdiri dari kumpulan data dalam suatu sistem
manajemen basis data RDBMS.
Pengertian NoSQL
NoSQL adalah
sebuah konsep mengenai penyimpanan data non-relasional. Berbeda dengan model basis
data relasional yang selama ini digunakan, NoSQL menggunakan beberapa metode
yang berbeda-beda.
Sejarah konsep NoSQL dimulai ketika
Carlo Strozzi pada tahun 1998 menggunakannya untuk nama open source database
relational yang tidak mengikuti standar SQL, kemudian Eric Evans (karyawan
Rackspace) memperkenalkan kembali istilah NoSQL pada awal 2009 ketika Johan
Oskarsson dari Last.fm ingin menyelenggarakan acara untuk membahas distributed
database open source.
Sejarah NoSQL tidak lepas dari kesulitan-kesulitan yang terjadi dalam
penanganan perkembangan database dengan menggunakan konsep relational database.
Dalam praktiknya, database tidak hanya berkembang secara vertikal (adanya
penambahan baris), tetapi juga berkembang secara horisontal (adanya penambahan field).
Ketika field bertambah banyak permasalahan yang terjadi ketika
menggunakan konsep RDBMS. Dalam konsep RDBMS, penambahan field merupakan
masalah yang harus dihindari, akan tetapi pada kenyataannya hal itu sering
terjadi. Konsep tersebut yang mendasari adanya konsep NoSQL. NoSQL tidak
membutuhkan skema tabel dan umumnya menghindari operasi join karena
berkembang secara horisontal. Kaum akademisi menyebutnya sebagai structuredstorage
(penyimpanan terstruktur).
Secara umum,
database noSQL dibagi menurut format penyimpanan dokmentnya . Berikut ini
adalah pengelompokan database noSQL berdasarkan model (penyimpanan) datanya
- Document
Database contohnya MongoDB, seiap satu object data disimpan dalam satu
dokumen. Dokumen sendiri bisa terdiri dari key-value, dan value sendiri
bisa berupa array atau key-value bertingkat.
- Graph,
Format penyimpanan data dalam struktur graph. Format ini sering dipakai
untuk data yang saling berhubungan seperti jejaring social. Contoh
database noSQL dengan format ini adalah Neo4J dan FlockDB. FlockDB dipakai
oleh twitter.
- Key –
Value, contoh database jenis ini adalah Apache Cassandra.
- Object
Database. Format database yang disimpan dalam object-object, Object disini
sama dengan pengertian object di Pemrograman beroreintasi object, Contoh
databasenya adalah Db4o.
- Tipe
lainnya adalah tabular, tuple store dan berbagai jenis lain yang tidak
terlalu populer.
Kelebihan
- NoSQL
bisa menampung data yang terstruktur, semi terstruktur dan tidak terstuktur
secara efesien dalam skala besar (big data/cloud).
- Menggunakan
OOP dalam pengaksesan atau manipulasi datanya.
- NoSQL
tidak mengenal schema tabel yang kaku dengan format data yang kaku. NoSQL
sangat cocok untuk data yang tidak terstruktur, istilah singkat untuk
fitur ini adalah Dynamic Schema.
- Autosharding,
istilah sederhananya, jika database noSQL di jalankandi cluster server
(multiple server) maka data akan tersebar secara otomatis dan merata
keseluruh server.
Kekurangan
- Hostingnya
mahal. beberapa layanan di luar negeri mencharge biaya 100-200USD untuk
hosting database noSQL.
- Sulitnya
mencari hosting Cpanel yang mendukung database MongoDB atau database noSQL
lainnya.
- karena
bervariasinya produk dan format penyimpanan, berpindah antar satu produk
database ke produk noSQL lainnya perlu waktu untuk belajar. Contohnya
ketika anda pindah dari MongoDB ke Cassandra, maka anda harus belajar lagi
dari awal, berbeda dengan database RDMS.
Software
dalam NoSQL
- MongoDB
- Cassandra
Apache
- CouchDB
Perbedaan SQL dengan NoSQL
Mysql
merupakan aplikasi pengolah database yang bersifat open source, dikembangkan
oleh Oracle (sebelumnya Sun dan MySQL AB). MySQL adalah sebuah perangkat lunak
sistem manajemen basis data SQL .
NoSql
merupakan sistem manajemen basis data yang di identifikasikan dengan tidak
mematuhi aturan pada model sistem manajemen basis data.
NOSQL adalah database generasi terbaru yang mengarahkan kepada database yang tidak berelasi (non-relational), dapat disebarkan kepada siapapun (open-source) dan berskala horisontal (horizontal scale).
NOSQL adalah database generasi terbaru yang mengarahkan kepada database yang tidak berelasi (non-relational), dapat disebarkan kepada siapapun (open-source) dan berskala horisontal (horizontal scale).
Contoh
aplikasi pada Sql adalah
Oracle, MS-SQL, Sqlite, dan Postgres .
Sedangkan pada NoSQL adalah MongoDB, HBase, Redis, Bigtable, RavenDb, CouchDB, Cassandra, dan Neo4j.
Oracle, MS-SQL, Sqlite, dan Postgres .
Sedangkan pada NoSQL adalah MongoDB, HBase, Redis, Bigtable, RavenDb, CouchDB, Cassandra, dan Neo4j.
Perbedaan
SQL dan NoSQL terletak pada cara penulisan database.SQL menggunakan relasional
sebagai penyambung antara data-data di dalam tabel database. Sedangkan NoSQL
tidak menggunakan Relasional sebagai cara mereka untuk menyambungkan antar data
.
NoSQL
tidak menggunakan Schema relational, Pada SQL user harus mendefinisikan table
yang akan digunakan. Pada NoSQL tidak perlu untuk mendefinisikan terlebih
dahulu Table yang akan digunakan.
Dalam
Database SQL data berbentuk tabel yang terdiri dari sejumlah baris,Sedangkan
Pada NoSQL data tidak memiliki definisi skema standar yang harus dipatuhi.
NoSQL memiliki skema yang dinamis sedangkan pada database SQL mengikuti skema
yang telah ditetapkan.
Database
NoSQL merupakan horizontal terukur sedangkan pada SQL Database vertikal
terukur.
Untuk memperbesar pada skala NoSQL hanya perlu tambahkan server DB di cluster untuk load balancing.
Sedangkan pada SQL Untuk memperbesar skala harus menambahkan tenaga dari perangkat CPU,SSD,RAM dan perangkat keras lainnya pada server.
Pada database SQL penekanan pada sifat Atomicity, Consistency, Isolation and Durability (ACID) sifat. Sedangkan pad NoSQL mengikuti teorema Consistency, Availability and Partition (CAP) Brewers.
Untuk memperbesar pada skala NoSQL hanya perlu tambahkan server DB di cluster untuk load balancing.
Sedangkan pada SQL Untuk memperbesar skala harus menambahkan tenaga dari perangkat CPU,SSD,RAM dan perangkat keras lainnya pada server.
Pada database SQL penekanan pada sifat Atomicity, Consistency, Isolation and Durability (ACID) sifat. Sedangkan pad NoSQL mengikuti teorema Consistency, Availability and Partition (CAP) Brewers.
Komentar
Posting Komentar