It might have seemed last week, with the announcement of the Open Database Alliance, that MySQL is forking. The ODA promises a "central clearinghouse for MySQL development" and claims to improve on areas where criticism has historically been aimed at MySQL AB (acquired last year by Sun and currently under acquisition by Oracle): bug-fixing, performance, and community responsiveness. But what's going on behind the scenes is much more subtle and promises a much better outcome for MySQL.
The ODA was founded by Monty Widenius's new venture, Monty Program AB--I hesitate to call it a "corporation" because of its radical approach to community involvement--and Percona, the major consulting firm in the MySQL space with three of the authors of the O'Reilly book High Performance MySQL. (A fourth author, Arjen Lentz of Open Query, is also a member of ODA).
Monty created MySQL, leapt into controversy over the past couple years by criticizing his own company's policies toward user input and bug-fixing, and recently left Sun. Percona has been working for some time on an enhanced version of InnoDB, the most important MySQL database engine. The ODA offers an enhanced version of MySQL called MariaDB that includes the Percona storage engine, XtraDB (as well as third-party storage engine PBXT).
Sure sounds like a fork, but it's not. Sun and Percona engineers are clearly looking at each other's patches. Vadim Tkachenko of Percona told me that changes made by Sun engineers to InnoDB are similar to what Percona has done in XtraDB. A month ago Sun announced the release of MySQL 5.4 with many performance improvements, and a comparison recently made by Vadim showed similar performance for InnoDB and XtraDB.
So things seem to be operating very much the way an open source software project should. Google is also a major contributor of performance improvements. Although there's no simple to characterize the many tweaks and additions, I detect two major sources of change:
- Taking advantage of the larger memory (including Solid State Drive (SSD)/Flash memory starting to appear on servers).
- Taking advantage of multicores, especially by making locks more granular.
There is, of course, a fork of MySQL. It's Drizzle, started by one the leading developers at MySQL AB/Sun, Brian Aker, and fully endorsed by management at least in public. Drizzle seems to be an attempt to roll back many of the commitments made to major enterprise users by MySQL AB in the late 4.1 release and 5.0 releases--a resurrection of the simple, sleek, fast MySQL that meets the needs of most web sites. ODA is working with the Drizzle developers too.
These developments reflect trends I noted in one of my blogs from the recent MySQL Conference: the continued dominance of InnoDB and the hardware factors driving performance. Yes, there will be more options for MySQL users. They'll all get better.