MariaDB is cut from the MySQL relational DBMS you know well, only it’s a fork of the previous version. Admin Magazine called MariaDB the “cousin” of MySQL, not its twin. That seems like an appropriate comparison at the moment, especially if you consider the MariaDB lineage.
The original developers of MySQL decided to start working on MariaDB in response to Sun's $1 billion acquisition of the open source database. MySQL changed hands again when Oracle bought out Sun. Considering that Oracle was a MySQL competitor, concerns arose about how Oracle would handle MySQL.
Fast forward to today, and MariaDB has turned into a direct competitor to MySQL, even displacing it in several environments.
According to InfoWorld, Red Hat replaced MySQL with MariaDB for its enterprise distribution, and Google has migrated thousands of MySQL instances to MariaDB.
MariaDB offers more features and better performance, and because it is based on MySQL code, it still retains the same command lines and configuration file naming conventions. But there are some key functional areas where the two database systems diverge.
Differences between MariaDB and MySQL
One of the principal differences between MariaDB and MySQL is that MariaDB is an open-source product. It’s free under the GNU GPL. It can be accessed, redeveloped, and the code can be dissected by public contributors.
Keeping the database open is what the original MySQL developers intended all along. They wanted to have a DBMS that was shared by a development community.
In the case of MySQL, the open source tag needs to be revisited. Even though Oracle has left other open source projects intact, MySQL isn’t one of the projects they have left alone. In fact, their fingerprints are all over MySQL.
Users of MySQL haven’t been too enthused to see Oracle involved with technical changes to the software. It’s not so much that Oracle isn’t a trusted development source. It’s that their development practices aren’t accounting for feedback from the development community.
In an interview with ReadWrite, Jeremy Cole (one of Google’s Senior Systems Engineers who was chiefly involved in the move to MariaDB) had this to say about some of the challenges associated with Oracle MySQL:
“Continuing to do good development, but often without much public visibility until release. Ignores bugs, feedback, and communication from community.”
Similarities between MariaDB and MySQL
The whole concept behind the move to MariaDB is that users could get all of the comforts of MySQL with even more advanced features, better performance, and the Oracle stewardship out of the way.
What stayed the same?
In addition to retaining the same binary names of command-line tools (mysqladmin and mysql), the data files and table definitions can also derive from MySQL conventions.
Keeping the language the same will keep data compatibility seamless, and migrations from MySQL can operate in an almost out-of-the-box manner.
The Move to MariaDB Isn’t a Big Move, but it is a Move
Ultimately, users who are contemplating a migration from MySQL to MariaDB aren’t really making a big leap. It’s more like stepping onto one of those moving walkways from a regular platform.
But between an improved query optimizer for web-facing applications, command-line progress updates, and statistics to help with instrumentation through a data dictionary, there are some clear efficiency and performance benefits that make the transition worthwhile.
Seravo – a Linux Systems Consulting and Support Services organization – reported that they saw a 3 to 5% improvement in the performance of their web servers.
As with any major change, if you are considering a move from MySQL to MariaDB it is always best to begin in a test environment. While the underlying code is similar, the transition to MariaDB can make some changes to your database. This can make reverting back to MySQL challenging at best.
To demonstrate how you can get the maximum performance out of your MariaDB database, IBM has created a detailed report. Check out that report here.