MariaDB Vs MySQL by PanoPly


Sumber : Matan Sarig - PanoPly

Persaingan yang sehat dapat menghasilkan yang terbaik dalam organisasi. Lihat saja perusahaan-perusahaan seperti Coke dan Pepsi atau General Motors dan Ford, yang semuanya terobsesi untuk mengalahkan yang lain sementara pelanggan (semoga!) Menuai hasilnya.

Pada artikel ini, saya akan membandingkan kasus lain di mana persaingan telah membawa inovasi antara MySQL dan MariaDB fork-nya.

Siapa yang Menggunakan Database Ini?
MySQL: MySQL telah menghasilkan pengikut yang kuat sejak dimulai pada 1995. Beberapa organisasi yang menggunakan MySQL termasuk GitHub, Angkatan Laut AS, NASA, Tesla, Netflix, WeChat, Facebook, Zendesk, Twitter, Zappos, YouTube, Spotify. Anda dapat memeriksa daftar lengkapnya di sini: https://www.mysql.com/customers/.

MariaDB: MariaDB sedang digunakan oleh banyak perusahaan besar, distribusi Linux, dan banyak lagi. Beberapa organisasi yang menggunakan MariaDB termasuk Google, Craigslist, Wikipedia, archlinux, RedHat, CentOS, dan Fedora.

Bagaimana Dengan Struktur Basis Data?
MySQL: MySQL adalah sistem manajemen basis data relasional open-source (RDBMS). Sama seperti semua database relasional lainnya, MySQL menggunakan tabel, batasan, pemicu, peran, prosedur tersimpan, dan tampilan sebagai komponen inti yang Anda gunakan. Tabel terdiri dari baris, dan setiap baris berisi kumpulan kolom yang sama. MySQL menggunakan kunci primer untuk secara unik mengidentifikasi setiap baris (catatan a.k.a) dalam sebuah tabel, dan kunci asing untuk memastikan integritas referensial antara dua tabel terkait.

MariaDB: Karena MariaDB adalah cabang dari MySQL, struktur basis data dan indeks MariaDB sama dengan MySQL. Ini memungkinkan Anda untuk beralih dari MySQL ke MariaDB tanpa harus mengubah aplikasi Anda karena data dan struktur data tidak perlu diubah.

Ini berarti:

file definisi data dan tabel kompatibel
protokol, struktur, dan API klien identik
Konektor MySQL akan bekerja dengan MariaDB tanpa modifikasi
Bahkan alat baris perintah mirip dengan mysqldump dan mysqladmin masih memiliki nama asli, memungkinkan MariaDB menjadi pengganti drop-in.

Untuk memastikan MariaDB mempertahankan kompatibilitas drop-in, pengembang MariaDB melakukan penggabungan bulanan kode MariaDB dengan kode MySQL. Bahkan dengan ini, ada beberapa perbedaan antara MariaDB dan MySQL yang dapat menyebabkan beberapa masalah kompatibilitas kecil.

Bill Karwin, penulis SQL Antipatterns: Avoiding the Pitfall, percaya bahwa MySQL masih memiliki banyak potensi dan pada akhirnya akan menyimpang dari MariaDB. Dia berkata:

Seiring berjalannya waktu, MySQL mengembangkan fitur yang lebih luas atau perubahan arsitektur internal. Mereka memiliki lebih banyak pengembang staf daripada MariaDB, sehingga mereka membuat perubahan dengan lebih cepat.
 Secara bertahap, MySQL dan MariaDB akan menyimpang. Contoh penting adalah kamus data internal yang saat ini sedang dalam pengembangan untuk MySQL 8. Ini adalah perubahan besar pada cara metadata disimpan dan digunakan dalam server. MariaDB tidak memiliki fitur yang setara. Ini mungkin menandai akhir dari kompatibilitas tingkat datafile antara MySQL dan MariaDB.

Apakah Indeks Dibutuhkan?
Indeks meningkatkan kinerja database, karena memungkinkan server database untuk menemukan dan mengambil baris tertentu lebih cepat daripada tanpa indeks. Tetapi, indeks menambahkan overhead tertentu ke sistem database secara keseluruhan, sehingga harus digunakan dengan bijaksana.

Tanpa indeks, server database harus mulai dengan baris pertama dan kemudian membaca seluruh tabel untuk menemukan baris yang relevan. Semakin besar tabel, operasi semakin mahal.

MySQL dan MariaDB: Sebagian besar indeks MySQL dan MariaDB (KUNCI UTAMA, UNIK, INDEKS, dan FULLTEXT) disimpan dalam B-tree. Pengecualian termasuk indeks pada tipe data spasial yang menggunakan R-tree. MySQL juga mendukung indeks hash dan mesin InnoDB menggunakan daftar terbalik untuk indeks FULLTEXT.

Bagaimana Pertanyaan Mereka Berbeda?
Kueri MySQL sama dengan kueri MariaDB.

Memilih catatan dari tabel pelanggan
MySQL:
PILIH * DARI pelanggan;

MariaDB:
PILIH * DARI pelanggan;

Memasukkan catatan ke tabel pelanggan
MySQL:
INSERT INTO customer (cust_id, branch, status) VALUES ('appl01', 'main', 'A');

MariaDB:
INSERT INTO customer (cust_id, branch, status) VALUES ('appl01', 'main', 'A');

Memperbarui catatan di tabel pelanggan
MySQL:
MEMPERBARUI customer SET branch = "main" WHERE custage> 2;

MariaDB:
MEMPERBARUI customer SET branch = "main" WHERE custage> 2;

Di mana (Dan Bagaimana) Apakah Database Ini Digunakan?
MySQL: MySQL ditulis dalam C dan C ++ dan memiliki binari untuk sistem berikut: Microsoft Windows, OS X, Linux, AIX, BSDi, FreeBSD, HP-UX, IRIX, NetBSD, Novell Netware, dan banyak lagi.

Untuk mengunduh MySQL, buka halaman unduh MySQL. Ada instruksi instalasi untuk Microsoft Windows, Linux, atau OS X.

MariaDB: MariaDB ditulis dalam C, C ++, Bash, dan Perl dan memiliki binari untuk sistem berikut: Microsoft Windows, Linux, OS X, FreeBSD, OpenBSD, Solaris, dan banyak lagi.

Karena MariaDB dirancang untuk menjadi pengganti drop-in biner untuk MySQL, Anda harus dapat menghapus instalasi MySQL dan kemudian menginstal MariaDB, dan (dengan asumsi Anda menggunakan versi yang sama dari file data) dapat terhubung. Harap dicatat, Anda harus menjalankan mysql_upgrade untuk menyelesaikan proses pemutakhiran.

Untuk mengunduh MariaDB, buka halaman unduhan MariaDB. Untuk Ubuntu, Red Hat, Fedora, CentOS, atau distribusi Linux lainnya, buka repositori unduhan untuk sistem operasi Anda. Ada juga instruksi instalasi untuk Microsoft Windows, Linux, dan OS X

Apa Jenis Replikasi / Clustering Yang Tersedia?
Replikasi adalah proses yang memungkinkan Anda memiliki banyak salinan data yang disalin secara otomatis dari database 'master' ke 'slave'. Ada banyak manfaatnya, dan beberapa di antaranya adalah:

cadangan
menyebarkan beban untuk meningkatkan kinerja
tim analitik dapat bekerja pada salah satu basis data budak, sehingga tidak merusak kinerja basis data utama jika terjadi pertanyaan yang berlangsung lama dan intensif.
Clustering, dalam konteks basis data, mengacu pada penggunaan penyimpanan bersama dan menempatkan lebih banyak front-end database di atasnya. Server ujung depan berbagi alamat IP dan nama jaringan cluster yang digunakan klien untuk terhubung, dan mereka memutuskan di antara mereka sendiri yang saat ini bertugas melayani permintaan klien.

MySQL: Replikasi dalam MySQL adalah replikasi asinkron satu arah di mana satu server bertindak sebagai master dan yang lain sebagai budak. Anda dapat mereplikasi semua database, database yang dipilih atau bahkan tabel yang dipilih dalam database.

MySQL Cluster adalah teknologi yang menyediakan pengelompokan tanpa-berbagi (tidak ada titik kegagalan) dan auto-sharding (partisi) untuk sistem manajemen basis data MySQL.

Secara internal MySQL Cluster menggunakan replikasi sinkron melalui mekanisme komitmen dua fase untuk menjamin bahwa data ditulis ke beberapa node. Ini berbeda dengan apa yang biasanya disebut sebagai "Replikasi MySQL", yang tidak sinkron.

MariaDB: MariaDB menawarkan replikasi master-master dan master-slave juga. MariaDB menggunakan Galera Cluster untuk multi-master. Pada MariaDB 10.1, Galera disertakan dengan MariaDB. Mengaktifkan pengelompokan sesederhana mengaktifkan parameter konfigurasi.

Siapa Saat Ini Di Balik Basis Data?
Pada 2010, MySQL diakuisisi oleh Oracle Corporation. Pada saat itu, salah satu pengembang asli, Michael "Monty" Widenius, merasa bahwa Oracle Corporation memiliki konflik kepentingan antara MySQL dan database Oracle mereka.

Menanggapi hal ini, ia memutuskan untuk membuat garpu proyek bernama MariaDB. Sejak itu, ada persaingan sehat antara MySQL dan MariaDB yang telah menghasilkan beberapa inovasi hebat. Karena Oracle mendukung MySQL dan memiliki dasar yang kuat, ia terus menjadi pemimpin. Namun, MariaDB menawarkan beberapa alasan kuat mengapa orang mungkin ingin berpindah basis data.

MySQL: MySQL awalnya dimulai oleh MySQL AB pada tahun 1994 oleh sebuah perusahaan Swedia yang dibuat oleh David Axmark, Allan Larsson, dan Michael "Monty" Widenius. Versi pertama MySQL dirilis pada 1995. Pada 2008, Sun Microsystems membeli MySQL AB. Pada 2010, Sun Microsystems diakuisisi oleh Oracle.

MySQL saat ini dikelola oleh Oracle Corporation.

MariaDB: Pada hari Oracle mengumumkan bahwa mereka telah membeli MySQL, Michael "Monty" Widenius mengambil beberapa pengembang MySQL dan memulai MariaDB, garpu dari MySQL sejak saat itu.

Brian Wheeler dari DevOps.com mengatakan:
Widenius dan banyak lainnya dalam komunitas open source merasa kepemilikan Oracle mungkin menjadi konflik kepentingan karena Oracle sudah memiliki database komersial sumber tertutup yang bersaing. Mereka percaya Oracle akan lambat untuk mengembangkan database MySQL lebih lanjut, mengingat potensi fokus yang lebih besar pada database Oracle komersial.
Perusahaan MariaDB dikelola oleh MariaDB Corporation AB. Server komunitas MariaDB dikelola oleh Yayasan MariaDB.

Yayasan MariaDB menggunakan model tata kelola masyarakat. Mereka memilih untuk memisahkan sisi open source dan sisi komersial dari bisnis.

Brian Wheeler dari DevOps.com mengatakan:
Karena pemisahan antara sumber terbuka dan sisi komersial dari yayasan, pemerintahannya dilihat oleh komunitas open source sebagai positif. Ini berbeda dengan Oracle, yang memiliki database Oracle komersial dan MySQL open source keduanya di bawah pemerintahan yang sama. Seringkali ini dianggap sebagai konflik kepentingan, terutama ketika menyangkut menjaga MySQL agar tetap mutakhir.

Siapa yang Memberikan Dukungan?
MySQL: MySQL menawarkan layanan dukungan teknis sebagai bagian dari dukungan seumur hidup Oracle. Tim dukungan berisi pengembang MySQL dan teknisi pendukung yang menawarkan dukungan 24/7 serta perbaikan bug, tambalan, dan rilis pemeliharaan.

Oracle menawarkan Dukungan MySQL Premier, Dukungan yang Diperpanjang, dan Dukungan yang Berkelanjutan tergantung pada kebutuhan Anda.

MariaDB: MariaDB menawarkan teknisi pendukung yang dikatakan ahli dalam MariaDB dan MySQL. Mereka menawarkan dukungan 24/7 dengan langganan perusahaan untuk sistem produksi yang sangat penting.

Siapa yang Membutuhkan Pengembangan yang Berkesinambungan?
MySQL: Pengembangan berkelanjutan dilakukan oleh Oracle Corporation, dan mereka melanjutkan pengembangannya. Keputusan pembangunan tidak terbuka untuk umum. Rilis keamanan keluar setiap dua bulan.

MariaDB: Di mana MySQL dikembangkan oleh Oracle dan keputusan tidak terbuka untuk diskusi publik, MariaDB dikembangkan dengan metodologi yang berbeda. Pengembangan ini terbuka untuk umum di mana semua keputusan pembangunan dapat diperdebatkan dan ditinjau melalui milis publik. Orang juga dapat mengirimkan tambalan untuk MariaDB. Menurut MariaDB, metodologi ini memungkinkan rilis keamanan yang lebih transparan dan lebih cepat.

Siapa yang Menjaga Dokumentasi?
MySQL: Untuk MySQL, dokumentasi dikelola oleh Oracle Corporation.

MariaDB: Untuk MariaDB, pelayan utama adalah Yayasan MariaDB, tetapi orang lain dapat berpartisipasi dalam pengembangan dan dokumentasi.

Apakah Ada Komunitas Yang Aktif?
MySQL: MySQL dimiliki dan dikelola oleh Oracle Corporation. Oracle menawarkan Zona Pengembang di situs web MySQL, yang dapat ditemukan di https://forums.mysql.com/. Situs ini berisi berbagai forum untuk menjalankan MySQL. Anda dapat melihat informasi tambahan di:

MySQL Wiki
Acara Oracle MySQL
Acara MySQL
Daftar grup pengguna MySQL
MariaDB: Maria dikembangkan oleh komunitas open source, memungkinkan siapa saja untuk berkontribusi. Anda dapat menemukan informasi tambahan tentang cara terhubung dengan anggota komunitas daring, membantu dengan dokumentasi, pengembangan, acara, dan grup pertemuan di halaman Ikut Terlibat mereka.

Bagaimana dengan Konektor Basis Data?
MySQL: MySQL menawarkan berbagai konektor basis data termasuk C, C ++, Delphi, Perl, Java, Lua, .NET, Node.js, Python, PHP, Lisp, Go, R, D, dan Erlang.

MariaDB: MariaDB menawarkan berbagai konektor basis data termasuk ADO.NET, C, C ++, D, Java, JavaScript, ODBC, Perl, PHP, Python, Ruby, dan plug-in Visual Studio.

Apakah Anda memilih MySQL, MariaDB, atau keduanya, Panoply memiliki konektor untuk kedua database. Dengan arsitektur data warehouse berbasis cloud, ia menyediakan solusi tanpa kode tanpa perlu persiapan atau transformasi data. Ini memungkinkan Anda untuk menggabungkan semua data Anda dari MySQL, MariaDB, layanan cloud, dan aplikasi ke dalam platform manajemen data tunggal.

Basis Data Mana Yang Tepat Untuk Bisnis Anda?
MySQL: MySQL adalah database terbukti yang memiliki pengikut kuat di seluruh dunia. Oracle Corporation terus memelihara, meningkatkan, dan mendukung produk.

MariaDB: MariaDB menyediakan pengganti untuk organisasi yang menjalankan MySQL. Ini dikelola oleh Yayasan MariaDB, memungkinkan orang untuk berkontribusi pada produk dan dokumentasi sumber terbuka.

Kedua produk dapat terus menyimpang di masa mendatang. Bagi banyak organisasi, pertanyaan mendasar datang ke: Mana yang Anda merasa lebih nyaman?

Apakah Anda lebih suka perusahaan besar seperti Oracle Corp yang mengelola MySQL, atau apakah Anda merasa lebih nyaman dengan solusi terbuka seperti MariaDB? Dengan pilihan mana pun, bisnis Anda akan menang dengan menghubungkan basis data Anda dengan gudang data cerdas oleh Panoply.

Comments