The State of MySQL: The Elephant in the Room
It’s been in the news for a few days: two of the MySQL execs, Martin Mickos and Monty Widenus, are leaving Sun Microsystems, Sun having bought and absorbed MySQL AB.
I’ve always been a Sun fan (Solaris FTW), but it’s a well-known joke that being bought-out by Sun is the kiss of death. So what happens to MySQL now, and what happens in the open-source database space? Drizzle, an open-source and derivative project led by Brian Aker, doesn’t seem to have clearly defined its space (“the cloud?”), with people wondering if it’s really just a SQLite competitor (alternative might be a better turn of phrase because it’s got a long way to go before it could “compete” with SQLite). Speculation aside, what is known is that it drops many of the features that make MySQL a full-featured relational database.
Ladies and gentlemen, I think that we have a winner, the elephant in the room: PostgreSQL. Somebody’s gotta say it. Sorry to gloat. PostgreSQL is and has been “the most advanced open-source database,” long before these MySQL upstarts came along.
In the end, MySQL was never a completely open project. MySQL AB offered a GPL version but only included code that they owned the copyright to. Contributing developers wouldn’t see changes included in the core unless they were rewritten by MySQL AB or donated (read sign over their IP) to the company. It’s pretty heinous to tout such a model as an open-source success story, and it looks like the opposite is now true: MySQL is clearly floundering.

Tuesday, February 10, 2009
Adam says:
In a way Sun and MySQL were perfect for each other then. Sun has been getting much better in recent years as far as “openness” is concerned – opening up Solaris and Java were both huge steps in the right direction. Solaris certainly has only benefitted from it.
The way it works with Solaris is much like MySQL in that they have two versions, OpenSolaris and Solaris proper. Anybody can contribute to OS, and what Sun management deems awesome eventually is backported to the next build of Solaris. The key difference is that Sun doesn’t go around touting Solaris 10 as the best “open source operating system”. They wouldn’t be fooling anybody. That’s why they have two distinct brands.
Perhaps it’s really too late to break MySQL apart like that? It has too much of an ingrained reputation as a lighter-weight and less fully-featured DBMS. It was certainly easier to go in the opposite direction and take a stable, stodgy, stuffy old commercial Unix and bless it with some openness; rather than try to take what is already widely considered an inferior DBMS and pump it with some of that brick-shithouse, runs until the end of time, Solaris mystique.
Yet Sun have a very closed nature about their other products. For example, I wanted to try out xVM Ops Center – a large scale system management, monitoring, and deployment tool. Sun told me “here’s an offline demo of last year’s version” and “you can’t have a free trial, otherwise we would have to field too many questions about the product from people who aren’t paying for licenses.” In my humble opinion, that is the completely incorrect view to have. Sun ought to make xVM Ops free to try out to get people excited about it. From the demos I’ve seen and the (horrible, far too short) webinar I attended, it is a great product but I can’t justify spending $6800/year on it without being able to show it off to my coworkers.
Also, there is a frustrating dearth of community support for notoriously behind-the-times products like Communications Suite. It took a year and a half for them to get around to coding in Office 2007 / Vista compatibility into an Outlook Connector.
So as it is right now, Sun and MySQL are perfect together. Neither really knows what side of the open source fence it wants to be on. Both want to capitalize on the work of others.
OpenSolaris is ridiculously more feature-rich than its closed counterpart, just as stable, and Sun sells support contracts for it so you could run it as your production OS of choice if you so wished. In many ways it trumps Solaris proper, which is for institutions that take the “if it ain’t broke” approach. There is definitely a disconnect at Sun’s management in that they probably ought to be treating MySQL in the same regard but have only been wielding it like some strange “openness” trophy and not doing anything with it.
This is the same stream-crossing at Sun brass that blesses the world with infinite rebranding of their software. eg. Netscape DS -> iPlanet DS -> Sun Java ONE DS -> Sun Java System DS
Tuesday, February 10, 2009
Billy Gray says:
@Adam, I agree, and I’m betting that Sun couldn’t use the OpenSolaris model (CDDL) and contribution process due to the MySQL AB process already in place.
The OpenSolaris project really expertly lays out the deal with CDDL and what a developer’s rights are.
Tuesday, February 10, 2009
Max Michaels says:
I think the real issues arose when MySQL started adding features (read: bug fixes) to only their enterprise version. Us non-paying users were left to troubleshoot the many, many issues in the community version, such as (rant warning):
-row-based replication just doesn’t work for about 10% of your queries, but don’t bother telling the slave server that… just skip those rows. -any kind of replication error basically requires a full rebuild of the slave about 80% of the time. -query optimization sucks, i.e. your optimized should not concern itself with the order of my select variables or if i’m using AS. -mysqldump, by default, does not dump triggers or stored procedures even when using a switch to dump “everything”. thanks for telling me this, dicks… -uhmmm. this could go on forever…
These complaints being made, I do manage a 24 server, cross-country, multi-master MySQL setup. It was a nightmare to setup but after learning the quirks, it kicks some serious ass. Should this have been easy, no, should it have been a lot easier than it was, hell yes.
I’ve played with Postgres/Slony for a bit and was kind of disappointed by the feature set when it comes to slony but solo Postgres servers have far exceeded my expectations. There have been a lot of “wow, this just works” coming from my desk as of late.
I still think the big boys need OCFS and Oracle but the way things are going now, Postgres really has the opportunity to bury MySQL should they so desire, especially with the recent team departures. In my opinion, whoever comes up with the first, real, stable clustered suite wins.
Only time will tell…