MySQL is still the most popular open-source database, but it has been losing fans over the years – for good reason. We look at five practical motivations to dump the MySQL database.
Back in 2008, MySQL was rapidly growing in popularity when Sun Microsystems bought MySQL AB for approximately a billion bucks. The following year, Oracle scooped up Sun, and MySQL was part of the deal. MySQL users and developers started questioning the fate of the open-source database, and many of them began looking for alternatives.
Flash forward to 2013: Oracle didn't kill off its former competitor, and MySQL remains the most popular open source database. Still, MySQL's popularity is on the decline; as it loses its luster, viable database alternatives have started to shine. Let's look at five good reasons not to use the former open source database standard, MySQL. (To see the other side of the argument, read Andy Patrizio's article on the 5 reasons to stick with MySQL. Then make your own decision, and share it with us in the comments.)
1. MySQL is not as mature as other relational database management systems.
MySQL did not start out as an RDBMS, but later changed direction to encompass more functionality. Older, more mature relational database management systems are still considered more feature-rich than MySQL. If you want a feature-rich RDBMS, you might check out PostgreSQL or closed source options, such as Oracle or Microsoft SQL Server.
PostgreSQL contributor Selena Deckelmann says that Postgres is seen as the right choice for new projects among Web developers who need a relational database. “With the JSON data type and PLV8, Postgres may become the default choice for NoSQL as well,” she says.
2. MySQL is open source... but only sorta
Technically, MySQL is an open-source database, but in practice, it no longer feels like it. Under Oracle's umbrella, MySQL now has proprietary, closed-source modules. “MySQL remains alive on paper but Oracle's foot dragging on development and refusal to release test cases for bugs and security patches for MySQL has reinforced its control over the code and sent hordes of open source developers to greener pastures,” Paula Rooney explains in her ZDNet article, Is it time for Oracle to donate MySQL to Apache?
It isn’t like you don’t have other open-source alternatives. MariaDB, a MySQL fork, remains “truly open source.” SkySQL, a MariaDB developer that merged with Monty Program Ab (MariaDB's parent company) earlier this year, explains, “All code in MariaDB is released under GPL, LPGL or BSD. MariaDB does not have closed source modules like those you can find in MySQL Enterprise Edition. In fact, all the closed source features in MySQL 5.5 Enterprise Edition are found in the MariaDB open source version.”
3. MySQL’s performance doesn't scale as well as its competitors
The MariaDB blog offers detailed benchmark results for recent MySQL vs. MariaDB releases, and, although the results were close, MariaDB came out ahead.
4. MySQL is Oracle-owned instead of community driven
MySQL hasn't changed direction dramatically since it was acquired by Oracle, but Oracle still owns it, which makes some developers nervous. “And, probably worst of all, it's impossible for the community to work with the MySQL developers at Oracle,” Michael “Monty” Widenius, founder of MySQL and MariaDB, says.
Widenius notes that Oracle does not accept patches or provide a public roadmap. “There is no way to discuss with MySQL developers how to implement things or how the current code works,” he says. If an open source, community developed database matters to you, Widenius recommend MariaDB (duh!) because it is built on top of MySQL and offers more features, speed, and stability, with fewer security issues.
5. The list of big names jumping ship is growing fast
At its June 2013 summit in Boston, Red Hat announced that it was breaking up with MySQL. Instead, Red Hat Enterprise Linux (RHEL) will ship with MariaDB. Fedora already announced that it would move from MySQL to the MariaDB fork with Fedora 19. Slackware Linux announced its move from MySQL to MariaDB in March 2013, and openSUSE made a similar announcement in January 2013.
It isn’t just the Linux distributions. In April 2013, the Wikimedia Foundation announced that Wikipedia, the world's seventh most popular website, would be adopting MariaDB. In the announcement, Wikimedia Foundation Site Architect Asher Feldman explained that MariaDB's optimizer enhancements and Percona's XtraDB feature set were compelling reasons for the change. “Equally important, as supporters of the free culture movement, the Wikimedia Foundation strongly prefers free software projects; that includes a preference for projects without bifurcated code bases between differently licensed free and enterprise editions,” he added. “We welcome and support the MariaDB Foundation as a not-for-profit steward of the free and open MySQL related database community.” As technology journalist Steven J. Vaughan-Nichols (and contributor here at SmartBear) noted at the end of 2012, no matter how you feel about Oracle or open-source vs. proprietary software, “MariaDB's better performance at one of the world's busiest Web sites is going to draw attention from anyone running serious Linux, Apache, MySQL, PHP/Python/Perl (LAMP) software stacks.”
So what do these big data, tech-savvy companies know that loyal MySQL users don't? MySQL is no longer the only big fish in a small pond of database solutions. Instead, MySQL is up against its own Oracle-free, truly open source offspring, MariaDB, the increasingly popular PostgreSQL RDBMS, and a growing NoSQL market. If you haven't dumped MySQL yet, there are plenty of reasons to reconsider.
About the author
Rikki Endsley writes for a variety of tech publications, is the community manager for USENIX, and is the managing editor of the association’s bi-monthly publication, ;login:. In the past, Rikki worked as the editor in chief of Ubuntu User magazine, associate publisher of Linux Pro Magazine, and managing editor of Sys Admin magazine. Follow her on Twitter at @rikkiends or visit rikkiendsley.com.