Anyway - here's my maybe somewhat emotional analysis. But really, this post is a load of cr*p! I mean, more than half of the "reasons" are not even about MySQL (as in the database - not the company), and the other aren't even reasons.
Judge yourself.
Many enterprises get quantity discounts. License and in some case even maintenance fees may not be bad at all.
You make it seem like this is an advantage! With MySQL, *everybody* gets a volume discount. We don't care if you're big or small, if you need many MySQL servers you simply pay *one single flat fee* to cover for support for *all you can eat*
http://www.mysql.com/products/enterprise/unlimited.html
Who cares if the system contains code for features you don’t need? Hardware is really cheap these days.
This is not a reason to go for a high end database - merely something that might not hamper you in doing so. That said, it's not that hard to argue why less is more. Take for example MS SQL's xp_cmdshell which lets you run an arbitrary OS-level command. Well, if your app has an injection vulnerability, an extra feature like this just allows a cracker more room to do damage. So it really pays off to be sure your database is exactly that - a database.
If you already have DBAs on staff, how much work is it to administer a few more small systems? Besides, an Oracle or SQL Server DBA has access to some pretty good remote tools, which let her administer many database servers at once.
I don't see how this is an argument to buy into high end databases. First of all, if you run MySQL or any database that is anything worth to you, you need a DBA. Period. The "besides" is hilarious - what's makes you think MySQL DBA's do not have such tools? In many shops I've seen Oracle and MS SQL DBAs use remote desktop or shell access to manage their databases, in much the same way as many MySQL DBAs manage theirs. And, in addition MySQL Enterprise comes with an enterprise monitor which lets you manage and monitor many, many (hundreds) of MySQL instances remotely.
http://www.mysql.com/products/enterprise/monitor.html
You can even get it for trial:
http://www.mysql.com/ent-trial-reg-2007/
If you run a Windows-only shop, why not go Microsoft soup-to-nuts?
heh, maybe because you want to rely on what you know will work - not on what you are promised that it will work. Sometime ;) Seriously - the choice for MS vs non-MS is all about choice vs piece of mind. Nobody ever got fired for buying Microsoft, so many IT managers buy a site-wide all MS license to get some piece of mind. They get some assurances that because it's MS everything is integrated and aligned and whatnot. But if you unpack the shiny boxes - that's when you find out how incredibly compatible MS is with MS. Not.
Contrast that to open source - not just MySQL. If it doesn't work or you don't like what you see: fine, grab a new. Try that with MS. Once people have bought into it, they feel compelled to make it work, why else did they spend all that money on it? We're talking about a company that can't even keep their frigging *browser* compatible between minor versions....seriously.
SQL Server used to be a mid-range DBMS, and still plays that role in many Oracle and DB2 shops today.
heh, this is hardly an argument. "Rain is wet, and still falls into many seas world-wide". I mean, how can this be a reason not to go for MySQL or another open source database?
Early on, Microsoft did a great job of usability engineering on SQL Server administration tools.
I won't contest that they did. But we are seeing it no being gradually replaced with more and more MS Visual Studio headaches. Is that what people really want?
Largely in response to Microsoft competition, Oracle radically improved its own tools. For sufficiently simple databases, installation and administration really aren’t that hard in any of the high-end DBMS.
gah...so how is this an argument for not choosing for MySQL? Seems like you should have titled your article "14 reasons why I like MS SQL" - not "14 reasons why people should not choose MySQL"
Oracle, SQL Server, DB2, and Informix all offer cheap or free low-end editions, with good upwards compatibility. Those might happen to meet your deployment needs, now and in the future.
I won't contest that the "express" editions are very useful development tools. But you must be joking when you are saying that these are serious deployment platforms. In fact, if you like these "Express" editions so much, you should be in favour of more MySQL, more postgres, more SQLite. Because those products are the sole reason that finally made the big vendors look for a way to make their overpriced offerings more appealing. Go rewind Tom Kytes Oracle XE announcement podcast - they started giving it away for free because they are basically forced to.
If your application grows so quickly that you really do wind up needing a high-end database management system underneath, you won’t have to rewrite it.
That's a load of it. MySQL is all about scaling beyond the scale-up threshold. Don't buy into bigger and more expensive - buy more and inexpensive.
http://www.mysql.com/why-mysql/scaleout.html
Most high-end database management systems have more robust datatype support than most mid-range DBMS, the PostgreSQL family of products excepted.
Not sure what this means exactly - I guess this is not specific enough for me to recognize anything that has to do with MySQL.
Upstart mid-range database management systems have a variety of maturity issues. What are the most common kinds of error messages you see in a typical week? If you use the Web a lot, MySQL errors may be in the top three. Those memory buffers seem to fill to the choking point all too often.
So now MySQL is an upstart? heh...yeah, you're right they've been around only 12 years. Personally the most common errors I see on the web are broken IE-specific pages but I guess that's another story. (actually I'm curious if that's in your top three as well) The most likely reason is that most dynamic websites are LAMP sites - MySQL is simply most ubiquitous. I don't know how ever you were going to substantiate your "memory buffers" remark but most mysql errors I see on the web are "out of connections" - i.e. the site grew so hard they need to phase in another MySQL instance.
Individual features may also not be very mature yet. MySQL has long offered stable transactions and decent clustering, but not necessarily with the same storage engines (and not necessarily either in the most common configurations). And how is performance on relatively new features like declarative referential integrity, user-defined functions, or stored procedures?
Referential integrity relatively new...boy you must be an old fart to call something that's been in there for more than 7 years "relatively new". And what about the new features in Oracle and MS SQL? I don't hear you complaining about the "relatively new" partitioning features in Oracle...
There are more and better third-party tools for popular high-end DBMS than there are for upstart mid-range database management systems.
And all of those are adding support for what database again? Right, MySQL, because at some point developers keen on those tools moved at some point to MyQL
Nobody you know ever got fired for recommending a traditional, over-engineered computing platform.
I think you hould make that your slogan Curt.
"On the whole, I think there should be a lot more use of mid-range database management systems than there is today. But the case isn’t entirely one-sided."
Well, you sure make a fine point out of making it look like a one sided issue.