MySQL is an Open Source success story. It’s used at home, on your ISP’s server and in many businesses but why isn’t it more popular on the Enterprise side? If you think about it, there are thousands of MySQL servers setup on the ISP side of the world that are in daily use. If you would believe Microsoft, each one of those ISP’s crash as often as Windows 95 and 98 did AND they’d be out of business due to costs - not true.
CIO.com covered MySQL a while back (I confess, I’ve been sitting on this article for awhile now). Specifically, two posts on CIO.com list the following: (Linking to the Print versions for faster load times)
For: (http://www.cio.com/article/print/113110)
- It Is Ubiquitous
- It Is Simple
- It Has Low TCO
- It Is Well Supported
- It Is Flexible and Scalable
- It Has Native Support for Cutting-Edge Technologies
Against: (http://www.cio.com/article/print/113111)
- MySQL Uses the GPL
- MySQL Doesn’t Use the GPL
- Integration With an Existing Environment
- Product Maturity
- Feature Set Maturity
- Availability of Certification
- Corporate Considerations
- Perception of Scalability
Now, coming from a developer that has worked both sides of the fence for Enterprise and for the home/small business routine, my honest to god opinion is that MySQL is a better choice as a database. I’ve worked with MSSQL and I honestly can’t stand the damn thing. The ONLY feature I wish MySQL had was the Unique Key (uKey) option for ID’s so I didn’t need to program in X language to assign them.
To really dig into the Against side of things, corporations as a whole, really do not understand what “Open Source” and the GPL really are. Many think that no matter what, you must share your updates or be damned. Unfortunately, I’ve been to several places where developers are at the mercy of Lawyers, not IT managers. I’ve seen great projects get dumped and left behind specifically because of an OSS option. I’ve also seen OSS projects (free, as in Beer) get ignored and some corp decides to reinvent the wheel all because they don’t understand what OSS is.
- Integration With an Existing Environment: Another problem, but it’s getting better. The reason this problem exists is because of the above paragraph. All too many corps don’t understand what OSS is, so they buy EVERYTHING. This causes a domino effect to where most businesses run their backends on MSSQL instead of MySQL, a cheaper option (IMHO).
- Product Maturity: I really hope CIO.com is kidding. MySQL has been growing over the last few years and now, is a great product. I’ve been using it since before version 3. By the mid v.4 release, I was damn happy.
- Feature Set Maturity: Again, the only “feature” I wish MySQL had was the uKey assignment as a variable so I didn’t have to program unique keys each time I created something I needed to specifically track. I’m just too stubborn to give into a stored procedure to do this for me.
- Availability of Certification: This is really a shot in the dark. Certification for what? MySQL itself? Employee/Admin Certifications? I’ve long believed in Experience over Certification. I not have a certification in XYZ, but that doesn’t mean I don’t know the ins, outs and quirks of it. I may not be a guru in MSSQL, but I know my way around a database…
- Corporate Considerations: Two Words: Ignorant Lawyers (due to slang usage: Ignorance: To not know.)
- Perception of Scalability: Exactly, do your homework before choosing something.
MySQL isn’t the best product for all situations. I do feel, that in specific situations, MSSQL should be used. But seriously, if you allow your employees to use Access as a database for Enterprise Class Applications, you should be shot, hung and quartered.
I’ve really grown tired of corporations saying they can’t use X database because of Y. At the same time, if you don’t do your homework, research and really get into the nitty gritty of what X database can do for you, you should be…yea, you get the point. Besides, if Google can use MySQL so effectively, why can’t your business?
