MySQL is the most popular open-source database; chances are that you have run across it a time or two in your programmer internet travels. As the battle between open source and propriety software rages on, it does make you wonder, is it time to ditch MySQL? Here are some pros and cons of MySQL to consider.
A Brief History of MySQL
- Purchased by Sun Microsystems in 2008 for around a billion dollars.
- Oracle purchased Sun Microsystems (including MySQL) in 2009 for $7.5 billion, causing users and developers to begin debating the fate of the open-sourced database.
- Still the most popular open source database as of 2013.
That being said, is MySQL’s popularity is on the decline? It’s been around since 1995, so it may start to lose its luster as viable alternatives (such as MariaDB) continue to thrive.
A Few MySQL Cons
Rikki Endsley came up with a great list of reasons why you shouldn’t use MySQL.
1. MySQL is not as mature as other relational database management systems.
MySQL did not start out as an RDBMS (relational database management system), but later changed direction to encompass more functionality. Some more mature RDBMS, like PostgreSQL, are considered more feature-rich. Close source options, like Oracle or Microsoft SQL Server, are also alternatives to consider.
2. MySQL is open source (kind of)
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. Oracle’s alleged foot-dragging on development and refusal to release test cases for bugs and security patches is causing many open source developers to head for the hills. (One of these hills is MariaDB, where all code is released under GPL, LPGL or BSD.)
3. 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. Why? Oracle does not accept patches or provide a public roadmap.
4. Big names are jumping ship
Red Hat Enterprise Linux, Fedora, Slackware Linux, openSUSE, and the Wikimedia Foundation have all migrated to MariaDB.
That’s a pretty compelling argument to ditch MySQL, Rikki. To be fair, though, MySQL still has some great things going for it. Let’s look at a few of them in more detail.
A Few Pros
Andrew Patrizio shared a few reasons why you should still use MySQL.
1. There is more MySQL investment and innovation than ever before.
Since the acquisition, Oracle has increased the MySQL staff and given it a more mature engineering process where engineering and planning is driven from Oracle instead of people scattered across the world. MYSQL uses InnDB as its major storage engine. InnoDB is also part of the Oracle family, which makes development teams even more integrated.
The company is also making code more modular. For example, in MySQL 5.6, they split one of the crucial locks in the MySQL Server, the LOCK_open, which could improve top performance by more than 100%.
2. MySQL products remain solid.
Open-source advocates complain that new code in MySQL 5.5 doesn’t have test cases and that some of the enterprise features in version 5.5 are closed source. Still, MySQL 5.6 was well-received as a solid, well-performing product with a number of new features. One of the most notable changes? Going from 4 CPU threads to 64 CPU threads, which nearly tripled the number of concurrent connections from prior versions. Oracle also spent two years releasing Development Milestone Releases (DMR) to the MySQL Community for testing and feedback.
3. MySQL is designed with a focus on the Web, Cloud and Big Data
According to Patrizio, “This focus was on both MySQL and MySQL cluster to provide improvements in scale-up and scale-out performance, high availability, self-healing and data integrity, provisioning, monitoring and resource management, developer agility, and security.” This included introducing Global Transaction Identifiers (GTIDs) make it simple to track and compare replication progress between the master and slave servers, as well as the MySQL Applier for Hadoop.
4. There are more MySQL projects than before.
A MySQL Architect at Oracle said in his blog that Oracle has new teams working on special projects for MySQL. There are groups working on the clustering software, manageability, database algorithm optimization, replication and scalability.
Those are some pretty solid reason to stick with MySQL, Andy.
So…what do you think? Will you be leaving MySQL for MariaDB or sticking with it? Are there any other pros and cons to MySQL that we didn’t discuss in this post? Please share in the comments.
Image Credit: Flickr, Richard Masoner / Cyclelicious