MySQL vs MariaDB: MariaDB is a drop-in replacement for MySQL. That means that all data and table definition files are all compatible with MariaDB. All filenames, binaries, paths, ports, sockets – should remain the same, all MySQL connectors are compatible with MariaDB (PHP, Perl, Python, Java…)
But what does this mean to the average user?
If you want to switch to MariaDB from MySQL – you can. Simply uninstall MySQL and install MariaDB and you’re good to go. All that you had in MySQL remains the same.
What is the reason to switch to MariaDB?
Well, MySQL sometimes may be slow for large chunks of code and all the updates are actually just minor bug fixed, whilst MariaDB has a large fast growing society of developers working on it and features such as:
- Extended user statistics,
- Segmented Key Cache, Pluggable Authentication, OQ Graph Storage Engine, SphinxSE client and
- Pluggable Authentication, OQ Graph Storage Engine, SphinxSE client and
- OQ Graph Storage Engine, SphinxSE client and
- SphinxSE client and
- and much more.
Also, in MariaDB the slow query log as I said, is much improved. You can set whatever you want, disable queries that you don’t want, limit the logging rate, set the verbosity… Also, you have the option of turning off all these features for maximum compatibility with MySQL.
Each MariaDB release tends to lag behind its equivalent MySQL release. Why? Developers are working on all the features, speeding up the process and finding bugs in MySQL code. Sometimes, these lags are between 2-3 weeks and sometimes between 2-3 months. It all depends on an update the developers are currently working on.
Other features just make coding easier; an example is a specific CREATE table feature. Previously, if storage engine wanted to implement a feature that requires new options for this command, a patch would have to be applied for that section of the code. MariaDB now has standardized a way for storage engines to extend the CREATE table that keeps the code isolated and independent. Also, you can choose not to use it, for compatibility.
MySQL vs MariaDB
Now, let’s get onto a review of features included in one and excluded in the second one and vice versa:
Perks of MariaDB
Virtual columns, Join elimination, Storage Engine independent statistics, JSON features, Multi – Source replication, New storage engines mentioned before, Roles, GTID implemented differently.
Perks of MySQL
Password complexity plugin, Memcached interface, JSON explain, Optimizer trace and many others. As MariaDB develops, in version 10 it appears that it moves further and further away from MySQL.
You are the one to determine which one is the right for you: Sticking with MySQL or moving to MariaDB? The choice is yours.