Apa perbedaan antara MariaDB dan MySQL?


82

Apa perbedaan antara MariaDB dan MySQL? Saya tidak terlalu akrab dengan keduanya. Saya terutama pengembang front-end untuk sebagian besar.

Apakah mereka secara sintaksis serupa? Di mana dua bahasa permintaan ini berbeda?

Wikipedia hanya menyebutkan perbedaan antara lisensi:

MariaDB adalah cabang yang dikembangkan komunitas dari basis data MySQL, dorongannya adalah pemeliharaan komunitas status bebasnya di bawah GPL, yang bertentangan dengan ketidakpastian status lisensi MySQL di bawah kepemilikannya saat ini oleh Oracle.


Jawaban:


95

MariaDB adalah pengganti MySQL biner drop-in yang kompatibel dan terbelakang . Ini artinya:

  • File data dan tabel definisi (.frm) file yang kompatibel biner.
  • Semua API, protokol, dan struct klien identik.
  • Semua nama file, binari, jalur, port, soket, dan lain-lain ... harus sama.
  • Semua konektor MySQL berfungsi tidak berubah dengan MariaDB.
  • Paket mysql-client juga berfungsi dengan server MariaDB.

Dalam skenario praktis yang paling umum, MariaDB versi 5.xy akan bekerja persis seperti MySQL 5.xy, MariaDB mengikuti versi MySQL, yaitu nomor versi itu digunakan untuk menunjukkan dengan versi MySQL mana yang kompatibel.

MariaDB berasal sebagai garpu MySQL oleh Michael "Monty" Widenius, salah satu pengembang asli MySQL dan salah satu pendiri MySQL Ab. The MariaDB Yayasan bertindak sebagai kustodian dari MariaDB.

Motivasi utama di balik MariaDB adalah untuk menyediakan versi benang MySQL, dalam kasus Oracle berjalan semua perusahaan dengan MySQL. Perlu dicatat bahwa Monty vokal menentang akuisisi MySQL (melalui akuisisi Sun) oleh Oracle.

Meskipun MariaDB seharusnya kompatibel dengan MySQL, karena satu dan lain alasan ada beberapa masalah kompatibilitas dan fitur yang berbeda :

  • MariaDB mencakup semua mesin open source populer,
  • MariaDB mengklaim beberapa peningkatan kecepatan di atas MySQL, dan
  • ada beberapa ekstensi benang baru yang kurang dimiliki MySQL

    Akhirnya, nama tersebut berasal dari putri Monty Maria (yang lainnya adalah My), karena MySQL sekarang merupakan merek dagang terdaftar dari Oracle Corporation.


1
Terima kasih atas penjelasannya yang sangat komprehensif. Persis apa yang saya cari.
chrisjlee

5
MariaDB secara eksplisit tidak lengkap dengan SQL-99, seperti yang disangkal pada halaman yang ditautkan oleh jawaban ini. Misalnya, itu tidak mendukung pernyataan sama sekali dan CTE belum membuatnya menjadi rilis yang stabil. Kisahnya hampir sama untuk MySQL.
Air

Saya percaya tautan ke montyprogram dot com telah membusuk, tetapi saya tidak tahu di mana persamaan untuk tautan ini dapat ditemukan online.
Hay

MariaDB mendukung InnoDB bukan? kenapa ditulis seperti itu?
Paulson Peter

1
@ PaulsonPeter Ya, MariaDB mendukung InnoDB. Tidak yakin tentang pertanyaan kedua Anda.
yannis

15

Ini adalah fork - dua proyek terpisah mulai dari basis kode asli yang sama tetapi bergerak ke arah yang berbeda. Ini sering terjadi pada proyek-proyek open source di mana Oracle telah membeli perusahaan-perusahaan sponsor.

Untuk pemahaman saya, MariaDB dikelola dan ditingkatkan oleh pengembang MySQL asli, dan MySQL dikelola dan ditingkatkan oleh Oracle. Itu tergantung pada siapa yang ingin Anda lakukan pekerjaan itu.


Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.