For years, MySQL has been fundamental to many server applications, especially those using the LAMP (Linux, Apache, MySQL, Perl/PHP/Python) software stack. Those days may be ending. Both Fedora (Red Hat's community Linux) and openSUSE (SUSE's community Linux) will be switching out MySQL to MariaDB for their default database management system (DBMS) in their next releases.

For database developers and managers, this change shouldn't be a problem. MariaDB, a MySQL fork founded by the original MySQL developers, is designed to be a drop-in replacement for the MySQL Database Server. It includes support for all the major open source storage engines, which are also supported by MySQL, such as MyISAM, Blackhole, CSV, Memory, and Archive.

Michal Hrušecký, an openSUSE developer and the MySQL maintainer for openSUSE and SUSE, explained that with MariaDB, you'll still be using the "same API [application programming interface], same protocol, even same utilities. And mostly the same data files. So unless you have some deep optimizations depending on your current version, you should see no difference."

Hrušecký continued, "Actually, the only thing that changed is that everything now links against MariaDB and uses MariaDB libraries--no change from user's point of view. And if you try to update from a system that used to have just one package called 'mysql,' you'll end up with MariaDB. And it will be default in LAMP pattern. But generally, you can still easily replace MariaDB with MySQL, if you like Oracle."

So why make this move since openSUSE will continue to support both? Hrušecký explained, "Well, [I've been] personally using MariaDB since 2010 with a few switches to MySQL and back, so it is better tested from my point of view. I originally switched for the kicks of living on the edge, but in the end, I found MariaDB boringly stable (even though I run their latest alpha). I never had any serious issue with it. It also has some interesting goodies that it can offer to its user over MySQL"

These "goodies" include speed improvements, new features, and support for additional storage engines. These include Aria, OQGRAPH, and SphinxSE. Last, but never least in open-source circles, MariaDB is "truly open source. All code in MariaDB is released under GPL, LPGL, or BSD. MariaDB does not have closed source."

This last point was especially telling for Fedora's decision to switch. Jaroslav Reznik, Red Hat's Fedora project manager, said, "Recent changes made by Oracle indicate they are moving the MySQL project to be more closed. They are no longer publishing any useful information about security issues (CVEs) and they are not providing complete regression tests any more, and a very large fraction of the MySQL bug database is now not public."

"MariaDB," Reznik continued, "was founded by some of the original MySQL developers, has a more open-source attitude and an active community. We have found them to be much easier to work with, especially in regards to security matters."

Oracle tried to persuade Fedora not to make this switch. In a note to the Fedora developer mailing list, Andrew Rist, an Oracle interoperability architect, wrote that Fedora should "integrate MySQL 5.6. Switching to MariaDB would be going backwards, as their releases usually lag by at least 6 months. The differences between MariaDB 5.5 and MySQL 5.6 are quite significant, with major improvements in both performance and stability, as well as additional features and improved security."

"With hundreds of development and QA engineers, including MySQL veterans and fresh talent," Rist continued, "Oracle has produced the most stable, secure, and scalable releases of open source MySQL ever. We are ready to help integrate and package the latest and best-tested version of MySQL in Fedora, including becoming the package maintainer (same as we do with Ubuntu)."

Rist concluded, "15 years of contributing to the Linux kernel, 8 years developing InnoDB, and now 3 years leading MySQL represent a track record that speaks for itself. Fedora's corporate sponsor and Oracle do compete in the Linux support business, but the database choice for Fedora should only focus on the merits and the quality of the MySQL code."

His arguments were in vain. Jóhann B Guðmundsson, a Fedora developer, replied, "Oracle's track record indeed speaks for itself, and I'm pretty sure all the Solaris developers agree to that. We value openness and freedom here in Fedora land."

The Fedora Engineering Steering Committee's vote wasn't close. The Committee voted seven to zero in favor of switching to MariaDB.

So, starting with openSUSE 12.3, which recently came out in beta (and is due out in March 2013), MariaDB will become its default DBMS. In due time, it should also become SUSE Linux Enterprise Server's (SLES) DBMS.

In the case of Fedora, MariaDB will become the DBMS of choice beginning with Fedora 19. This distribution is preliminarily scheduled to arrive in late May. Then, in the fullness of time, it too is expected to become the default DBMS for Red Hat Enterprise Linux (RHEL).

What all this means is that perhaps the two most important server Linux distributions in use today are moving away from Oracle's MySQL to the more open-source friendly MariaDB. This cannot fail to have a major impact on enterprise and Internet applications.

Related stories: