MySQL – What if the worst happens?

After the recent Tweetalpyse that followed Oracle’s update of the MySQL version comparison table I got to thinking, what if MySQL were to be rendered no longer viable as my web database of choice. What are the options for open source relational data management?

As it turns out, the hysteria was due to a lack of clarification of what “Classic” meant (btw Oracle, a new release cannot be considered Classic) and what separates the Community Edition from the commercial options but, in the interests of contingency here are some of the choices should the unthinkable happen:

MySQL
(GPL2)

Yeah that’s right, the best option if Oracle’s support of MySQL falters or changes the product beyond usability is … MySQL.

Leaving aside any confusion over the versions the Oracle offer commercially, MySQL is now, and almost always has been Open Source in the truest sense of the word. GPL 2 Baby! The community code base ain’t goin’ anywhere and has already been forked and copied by all and sundry.

The best part? The second factor in today’s meltdown was the removal of InnoDB from MySQL Classic. Again confusion between  Classic and Community rendered this concern null and void but a lot of this mess could have been avoided had people realised / remembered the following: InnoDB is also Open Source, licensed under the same brand of GPL as the community core.

So if MySQL is dead? Long live MySQL – complete with an ACID compliant data engine.

Percona
(GPL2)

The team at Percona are experts in MySQL. So much so that they maintain their own fork of the MySQL code base with massive performance improvements and administrative tools built to get the most out of your Linux Database stack.

They also write the mysql performance blog which regularly delves deep beneath the surface of what makes MySQL tick. If you’re running Linux and need a performant drop in MySQL replacement with expert levels of support & consultancy then you could do worse than check out the Percona Server.

MariaDB
(GPL2)

The second drop in replacement server on this list, MariaDB was born from community frustrations with Sun / Oracle and out of their desire to build a better DB engine.

The project is driven (in a totally open source community fashion of course) by non other than Michael “Monty” Widenius who just happens to be the original author of MySQL so Maria’s credentials are pretty about as bona fide as you can get. Plus there are binaries for Linux and Win32.

The documentation for the server provides a (very small) list of incompatibilities between pure MySQL and MariaDB

PostgreSQL
(PostgreSQL Licence)

I suppose it’s time to talk about the elephant in the room. MySQL has always had an arch rival in the open source RDBMS world in the form of PostgreSQL and I would be remiss if I didn’t mention it as a possible alternative. PostgreSQL is not a drop in replacement for MySQL but does all of the features of its nemesis and asking which of the two systems is better is pretty much guaranteed to kick off a flame war in any IRC channel or forum on the net.

I’ll say this much, I’ve not used PostgreSQL in anger (i.e. production) but the server is stable, mature and feature rich so if you need some heritage behind your replacement then it may make a better choice than the two drop in replacements mentioned above.

NoSQL
(Various)

With all this talk of RDBS servers you may be forgiven for thinking we’re in 2005 or something. Of course there are more radical alternatives to traditional SQL servers provided by the so-called NO SQL movement. A collection of Document store DBs, specialised key/value systems which are being thrust into the mainstream by the massive processing requirements of Web2.0 giants Facebook, Twitter et al are providing conceptual alternatives to the old, bung it in a table, school of thought.

The two I’ve spent any time with are both document store style databases, the sofariffic CouchDB and the bean munching MongoDB both bring RESTful, JSON interfaces to the party along with a host of other cool kid buzzwords and allow you to talk about “Auto sharding my replicated data-store dude” (of course sharding and replication have been available in MySQL et al for years but let the new kids have their fun huh?)  with an air of being on the bleeding edge of data management.

And the big NoSQL players aren’t going anywhere, are mostly open source and will run on Win and *Nix platforms provided you can find a driver or connector for you chosen development language. Were MySQL to drop of the face of the earth then it may be time to review your requirements and see if one of the new generation would serve your needs better.

In conclusion

As I hope the above demonstrates, even if Oracle were to screw the pooch on MySQL there are plenty of decent open source options for managing data on the web. Of course it also helps to ensure you’ve made sure you know what’s going on in the world of MySQL before you push the panic button on your Twitter client.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Connecting to %s