Eight Sound Reasons Not to Use MySQL
Why and when should you give the thumbs down to MySQL?
Fri, May 25, 2007
CIO — In the time I've served managing a technical consulting firm, I've heard my share of excuses for not using MySQL. While many of these reasons were based on misconception, there are a number of sound reasons not to use MySQL. These will, of course, vary from one situation to the next, but in each context, I suggest that rather than rely on the opinion of a jaded database administrator (DBA), the rejection of any database technology should stick to the legitimate reasons. To that end, in this article I outline eight sound reasons not to use MySQL.
First, the reasons not to use a given technology are not of the same nature as the reasons to use it. Often the reasons to avoid something are more compelling. We might need several reasons to actually use the technology, but it may take just one to stop us in our tracks. The selection of software is one such decision; a single reason is almost never adequate to trigger an affirmative decision, but a single strong negative overrules a dozen good positive factors.
While there is a long list of relational database management systems (RDBMSes) from which to choose, I restrict comparisons to a few of the most common. Many technical comparisons exist, although comprehensive recent ones are fewer in number. Here we concern ourselves with the "big-picture" reasons.
MySQL Uses the GPL
The biggest one first. This isn't the time or place for a GNU General Public License (GPL) flame war and typically, neither is the selection of database technology. Clearly a GPL license is a plus for many, but for some environments, GPL'd software is a non-starter. In these situations, if the BSD license of PostgreSQL is still too "open," a commercial license is preferred.
MySQL Doesn't Use the GPL
In some instances, MySQL is non-free, and the GPL may not serve those situations well. If you want to distribute the license for the database along with your own project, your project must either be licensed under a similar compliant license, or you must pay for a commercial license. If this factor changes the way that your software is distributed, you'll need to cope with the added burden of supporting your product on multiple versions or configurations of MySQL, or (if it otherwise increases the cost to the end user) there may be an undesirable bottom-line impact caused by MySQL's use. In these circumstances, some software distributors may tend to opt for an alternative such as PostgreSQL under the BSD license.