The hardest part of enumerating the best reasons to use MySQL is figuring out in what order the reasons should be presented. It's like the age-old debate about the chicken and the egg. Are MySQL's lower costs of ownership (TCO) attributable to its simplicity? Is it ubiquitous because of that low TCO, or is it the other way around? There are no hard and fast boundaries separating the best features of MySQL; they run together like in a watercolor painting.
No matter, it is the result that counts, and MySQL is proven to be cost-effective, flexible, widespread and well-supported. What's not to like? Here, in no particular order, are the top five reasons you should use the MySQL database.
It Is Ubiquitous
They say "success breeds success," and that certainly seems to be the case for MySQL. The open-source database boasts more than 11 million active installations worldwide. A recent survey conducted by Evans Data Corporation showed that MySQL has gained 25 percent market share in the past two years. The research company predicts that developers will continue to choose MySQL in increasing numbers, over other open-source and proprietary databases. John Andrews, president of Evans, says user ratings for MySQL and other open-source databases are "meeting or exceeding proprietary databases."
Because it is already so popular, MySQL is a good choice for the enterprise. "It has a solid track record," says Tim Tuck, owner of Pervasive Netwerks, a VAR and IT consultancy based in Hayward, Calif. "Nobody is being the trailblazer in choosing it, in an embedded or large-scale clustered deployment, [or] in the Web-based application space." Another benefit of MySQL's prevalence in the industry is the ease of finding solutions. Vendors want their development tools and application frameworks to be compatible with MySQL because, well, everyone is using it. MySQL is a standard component of the LAMP stack: Linux, Apache, MySQL, and Perl or PHP. Rapid overall adoption of the LAMP stack is responsible for the broad acceptance of MySQL, according to the Evans survey. "Usage of MySQL is projected to continue to increase in the future," claims the report.
It Is Simple
MySQL is easier to learn and to use, compared to other databases. You don't have to spend as much time and money either training existing staff, or hiring developers with fancy certifications. Because it is a "no-brainer" to maintain and administer, that results in lower payroll costs, says Mitch Pirtle, CEO of Spacemonkey Labs. "It doesn't need a $150,000 per year certified DBA, or team, to maintain. And it is dead simple to develop for."
Tuck agrees. "[There's a] vast talent pool to choose from, both on the development side and the support side. Every developer who is just starting out can and probably will start development with MySQL. Even an experienced Windows admin can deploy it and start learning it, and never have to invest a penny to find out what all the fuss is about."
There is another aspect to the simplicity of MySQL that IT managers like: It runs fast. Some say that MySQL's feature list leaves something to be desired, but its fans swear that a scaled-down feature set means you only have to deploy, configure and maintain what you need. "For simple schemas with competent DBAs, MySQL is blindingly fast," says Jeff Schroeder, systems administrator for Ticketmaster. There's nothing superfluous to bog down the CPU or hog RAM. If you need something extra, MySQL's ubiquitous nature practically ensures you can find a vendor to provide the exact solution, and only the solution, you need.
It Has Low TCO
MySQL is owned by MySQL AB, but the software is open source, with a community version available for free download. Bootstrappers with a little technical know-how can get MySQL set up and configured on commodity hardware at very low cost. (MySQL's modest hardware requirement is among its best-known strengths, with one caveat: The more RAM the better, since all live data storage is done in memory.) A free database means that more of that precious startup capital is available for other business launch elements like marketing, advertising, or research and development.
Even with the commercial Enterprise version, there are no up-front licensing costs, which means lower capital outlay—much lower, when you compare it to big-gun proprietary databases like Oracle and Microsoft, whose per-CPU license costs run anywhere from $25,000 to $40,000. MySQL Enterprise support and maintenance cost less too, with savings from $2,000 to $5,000 annually. Whether you're funding a startup from your back pocket or you can call on a big venture capitalist, MySQL use will result in lower payroll costs, as mentioned above, because it is easier to learn, deploy, administer and maintain.
For established businesses, it can make sense to migrate to MySQL. When it is time to replace old hardware, eliminating legacy systems for lean and mean commodity looks attractive to the accounting department. MySQL deploys quickly, so the transition process won't grind productivity to a halt. And once again, a reduced learning curve means your admins will be up to speed on MySQL in no time. Plus, its easy maintenance and administration mean the current staff will able to handle an expanded shop floor, which translates into more bang for your buck on paydays, even when the company continues to grow.
It Is Well Supported
MySQL's dual-licensing scheme means that those who want extra hand-holding can get it directly from the creator of the database. MySQL AB provides support and maintenance services such as code updates and bug fixes as part of its roughly $3,000 annual subscription fee. For a separate fee, customers can get priority 24/7 support, access to an extensive online knowledge base and a dedicated technical account manager.
Users of the free version have plenty of support options too. At dev.mysql.com, a large, robust community of users and developers discuss all things MySQL. The site has blogs, tutorials, videos, webinars, white papers and discussion forums. Any question you have has probably already been answered somewhere by someone in the community—and if it hasn't, just ask or google. "The MySQL community is active, friendly and knowledgeable," Schroeder says.
It Is Flexible and Scalable
Because there are so many options for additional features like storage engines, you can pick the one that works best for your company, or try out more than one. MySQL starts small and grows with the company. "This makes it possible to adapt the system to the needs that you currently have," says Mats Kindahl, a senior developer for MySQL AB.
"MySQL is actually a family of databases, where you can choose and configure your back end to adapt to a large set of conditions," says Patrick Sinz, owner and president of open-source consultancy Ethiqa, "so you can start small and grow later in size and/or performance."
You can configure MySQL to run tiny embedded applications using a footprint no larger than one megabyte, or scale it up to handle many terabytes of data. One way MySQL achieves this scalability is through a popular feature called stored procedures, mini, precompiled routines that reside outside of the application. These procedures are stored and run on the database server to reduce the processing footprint on the client and make the most of processing power, since the database server is usually faster. Stored procedures aren't unique to MySQL, but the recent addition of this feature set makes the database that much more attractive.
It Has Native Support for Cutting-Edge Technologies
MySQL comes prepared to support all the most popular Web 2.0-ish languages, such as Ruby, Ajax and, of course, PHP. Tim O'Reilly has said, "Every Web 2.0 company is ultimately a database company." Since MySQL is already the database that runs some of the best-known Web 2.0 sites (including Craigslist, Digg, Wikipedia and Google), maybe O'Reilly should have said that every Web 2.0 company is ultimately a MySQL database company.