MySQL vs MongoDB mana yang terbaik?

By | August 23, 2016

MySQL dan MongoDB merupakan dua sisi dari sebuah argumen yang telah berlangsung baru-baru ini.
Mengenai penyimpanan data – dicoba dan diuji database relasional vs non-relasional atau NoSQL Database.
Mereka berdua merupakan produk open source yang didistribusikan di bawah versi dari GNU GPL, keduanya juga tersedia sebagai versi komersial menawarkan lebih banyak fitur dan dukungan perusahaan.

mongodb-vs-mysql-img

mongodb-vs-mysql-img

 

MySQL Vs MongoDB (Relasional vs Non-relasional database).

Mari sedikit kita ulas dari dua kandidat dengan melihat tentang argumen relasional vs non-relasional database.

database SQL relasional telah ada sejak tahun 1970-an, diciptakan oleh brilian E.F. Codd. SQL dan database relasional sangat baik untuk mewakili dan bekerja dengan set data, mirip dengan menemukan daerah yang dicakup oleh titik perpotongan dalam diagram Venn. Misalnya, aplikasi bank komersial, itu adalah kesederhanaan itu sendiri untuk membuat query SQL untuk mengekstrak. katakan, nama-nama dan kontak dari semua pelanggan wanita, dengan saldo current account lebih dari Rp 100.000.000, yang telah mengambil pinjaman di bank Anda dalam 2 tahun terakhir. SQL dapat dengan mudah memungkinkan Anda untuk mendapatkan data yang akurat menggunakan statement ‘SELECT’. Aturan ketat yang mengatur struktur database relasional berarti bahwa itu mudah untuk memastikan integritas dan keamanan data.

Namun, apa SQL dan database relasional yang tidak baik di scaling. Karena struktur  table dan database yang diperlukan dalam database relasional, mereka benar-benar hanya baik skala vertikal dalam server tunggal – dengan meningkatkan memori dan CPU, menggunakan disk lebih cepat, dll. Tapi mereka tidak baik dalam skala horisontal dengan menambahkan lebih banyak server untuk berbagi beban, yaitu komputasi terdistribusi. Di sinilah model relasional mengalami masalah.

Jadi ada kebutuhan bisnis yang telah datang baru-baru ini di mana kita sekarang perlu beberapa server, bukan dari satu server besar, server yang besar-besaran kuat? Kenapa ya, bahwa kebutuhan bisnis Internet. Apa yang kebanyakan situs butuhkan adalah kinerja lebih dari integritas data. Terutama untuk website yang sangat besar – anggap saja Amazon, Ebay atau Google, kecepatan respon situs dan ketersediaan/kesiapan jauh lebih penting daripada keamanan dan integritas data yang ditawarkan oleh database relasional.

Oleh karena munculnya non-relational atau database NoSQL. Salah satu karakteristik mendefinisikan mereka adalah bahwa mereka dapat mengambil skala yang sangat baik di beberapa server dan menuai keuntungan dari komputasi terdistribusi. Dengan munculnya koneksi Internet yang cepat, server ini mungkin sinkron bahkan lebih lokasi geografis tersebar luas (Google!). Salah satu cara untuk mencapai ini adalah dengan menyimpan data di pasangan value-key, daripada tabel tradisional. Sepasang value-key adalah kombinasi dari item data dan nilai terkait. Contoh pasangan kunci-nilai adalah:

  • Nama_Customer Agus Salim
  • JenKel_Customer L
  • Saldo_Customer Rp 25.000.000

Anda melihat bahwa dalam database NoSQL (MySQL vs MongoDB), field dan value untuk field yang disimpan bersama-sama dalam satu record. Hal ini membuat pengambilan data lebih cepat dan memungkinkan, tetapi juga memiliki masalah dengan integritas data. Sebuah table relasional, di sisi lain, akan menyimpan data pelanggan yang sama seperti satu set tabel yang berbeda, satu berisi pelanggan bio-data (nama, tanggal lahir, jenis kelamin, nomor jaminan sosial dan sebagainya), saldo pelanggan berisi(jenis account, saldo) dan sebagainya.

Namun, hal ini bukan berarti bahwa berbasis SQL database relasional adalah hal yang kuno. Mereka telah ada selama lebih dari 40 tahun dan melihat dari banyak pengalaman, terutama karena mereka menawarkan 3 keuntungan besar:

  1. Sebuah cara sederhana untuk mewakili data / model bisnis.
  2. Bahasa yang mudah digunakan untuk mengambil dan query data (SQL)
  3. integritas data bulletproof dan keamanan dibangun langsung ke database tanpa harus bergantung pada aplikasi rule dan logika.

Apa yang database NoSQL lakukan adalah memenuhi kebutuhan yang belum terpenuhi oleh database relasional – kebutuhan untuk skalabilitas yang mudah. Dan juga tidak harus bergantung pada object-relational mapping. Analoginya seperti ini, Pada abad 20 ada kendaraan bermotor dan pada abad sebelumnya sudah ditemukan kereta api. Meskipun kendaraan bermotor seperti mobil lebih fleksibel dan cepat, hal itu tidak bisa mengambil alih penumpang kereta. Karena 2 kendaraan tersebut memiliki scope yang berbeda.

Dalam analogi ini kereta adalah database relasional dan mobil adalah database NoSQL. Salah satunya adalah belum tentu pengganti yang lain. Mereka berdua melayani scoope yang berbeda.

MySQL

Sekarang kita kembali ke pembahasaan awal. MySQL adalah sebuah database relasional yang awalnya di kembangkan oleh MySQL AB, dan sekarang dimiliki oleh Oracle. Anda mungkin bertanya-tanya mengapa oracle membeli pesaingnya bukan malah mematikan pesaingnya?. Sebenarnya DBMS tersebut dalam hal ini Oracle dan MySql mencakup kebutuhan yang berbeda. Mysql banyak digunakan untuk menyimpan data untuk aplikasi web, biasanya sebagai bagian dari LAMP populer seperti Linux, Apache, Mysql, PHP/python/perl, sementara Database Oracle banyak digunakan dalam enterprise database pada perusahaan besar. Hal ini bukan berarti MySQL tidak dapat mendukung Big data dalam perusahaan besar, ataupun sebaliknya.

Pada dasarnya MySQL hanya berupa satu set CLI tanpa alat GUI. MySQL berjalan pada semua sistem operasi utama – Linux, Windows, OS / 2, OS X, dan berbagai rasa Unix. Bahkan berjalan pada Symbian untuk aplikasi komputasi mobile.

MySQL bertahun-tahun telah menambahkan berbagai fitur sampai saat ini memiliki fitur lengkap RDBMS. Selain fitur standar seperti tabel, indeks, prosedur yang tersimpan, triggers, cursors, query caching, partitioned tables dan clustering. Fitur yang tidak biasa dari MySQL adalah bahwa Anda dapat menukar mesin penyimpanan dan menggunakan yang lebih cocok untuk skenario atau aplikasi tertentu. mesin native yang didukung adalah InnoDB, MyISAM, Arsip, CSV, Blackhole, MySQL Federated dan NBD Cluster. Misalnya, mesin MySQL Federasi memberikan Anda fleksibilitas untuk mengakses tabel jarak jauh-disimpan seolah-olah mereka berada pada lokal.

Keterbatasan MySQL umumnya mempengaruhi database relasional. Skala horisontal dan sulit untuk menangani kinerja yang tinggi. Dalam hal ini seperti adanya lonjakan (jutaan requests-response) dalam satu waktu, ini akan sangat mempengaruhi kinerja server. Meskipun clustering dan replikasi sudah tersedia.

MongoDB

MongoDB terkenal sebagai database opensource NoSQL. Ia mengadopsi konsep key-value, hal itu disebut document store. Dalam MongoDB store dokumen dibuat dengan format BSON file, yang merupakan versi modifikasi dari JSON file.

MongoDB menyajikan peforma yang baik ketika berada di situasi dimana permintaan baca-tulis sangat tinggi. Tetapi dimana integritas data tidak terlalu penting; contoh kasus seperti Instagram yang setiap detik para penggunanya memposting sekitar ribuan foto atau bahkan jutaan.

Salah satu keterbatasan MongoDB ialah tidak seperti relasional database pada MySQL, MongoDB sulit ketika ingin melakukan join tables. Jadi misalnya Anda melakukan store Dokumen rekening nasabah yang terdiri dari {“Customer_tipe_akun: Gold”, “Customer_saldo: Rp 25.000.000”} ke dokumen data pelanggan {“Customer_nama: Karim,” Customer_Jenkel: L “} Dengan cara ini akan sangat sulit untuk melakukannya.

Kesimpulan

MySQL vs MongoDB merupakan argumen yang tiada habisnya, membandingkan MySQL vs MongoDB ibarat membandingka Kereta dan Mobil tentu 2 hal yang memiliki keterbatasan masing-masing. MySQL merupakan relasional database, sedangkan MongoDB merupakan No-SQL. Masing-masing memiliki keunggulan yang berbeda dan banyak fitur yang berbeda pula. Dalam hal ini kita harus menentukan kapan harus menggunakan MySQL dan kapan harus menggunakan MongoDB. Karena tidak akan ada titik temu ketika kita membahas mana yang lebih baik antara MySQL vs MongoDB. Semoga pembahasan MySQL vs MongoDB ini dapat bermanfaat, tinggalkan komentar untuk masukan admin. Thankyou.

Referensi

Leave a Reply

Your email address will not be published. Required fields are marked *