Archive for May, 2009
The quiet end of the community-enterprise split
Someone pointed this out to me the other day. Look at the comment on the revision:
Merge community up to enterprise, thus ending the community-server adventure.
Hindsight on a scalable replacement for InnoDB
A while ago I posted about a comment a Sun performance engineer made about a scalable replacement for InnoDB. At the time, I did not believe it referred to Falcon. In hindsight, it seems even clearer that the Sun performance experts were already working hard on InnoDB itself.
Sun’s engineers have shown that they can produce great results when they really take the problems seriously. And I’m sure that InnoDB’s performance has untapped potential we don’t see right now. However, it does not follow that their work on InnoDB is what was meant by a scalable replacement for InnoDB. Or does it?
General-purpose MVCC transactional storage engines with row-level locking, whatever their performance and scaling characteristics in edge cases, fall into a category together. A person assembling a MySQL server for general-purpose use might choose a different storage engine for various uses — MyISAM here, Memory there… and use “one of those transactional engines” for the bulk of the work. PBXT, InnoDB, Falcon — I don’t see a justification for running more than one of those side by side. The operational costs alone (backups, training the users, etc) would be too high. It is also not at all clear that MySQL itself is ready for multiple transactional storage engines working together (e.g. cross-engine transactions) in the real world.
So what’s left for Falcon? I think they are asking themselves the same question (brilliant gallows humor, by the way). I think Falcon’s ideas and techniques are very interesting, but a storage engine — especially one with such lofty goals — is always a show-me undertaking that will require years to mature and prove itself even after the code is “ready.” With or without the Oracle acquisition, this question has loomed for years: where’s the justification for Falcon politically, functionally, economically? A third party engine such as PBXT, with eyes on replication at the storage engine level and other add-on functionality, has always seemed more likely to really add value than a straight-up InnoDB replacement.
But from my point of view, the biggest win in the short term would still be to drive InnoDB development forward at a consistent and accelerating pace to meet the needs of users and the advances in hardware. Of course, that’s what XtraDB set out to do, and I think the XtraDB project has helped snap InnoDB out of their Percheron-like plod towards improvement. This is nothing but good; when it comes to competition among storage engines, no one should be resting on their laurels. I also see that Sun’s team has more good things in the works, which is great. I’d love for InnoDB to stop being a work horse and start being a quarter horse. We need it to be both scalable and high-performance.
Please re-license the MySQL documentation
In the past I have taken a somewhat neutral stance on the non-Free nature of the MySQL documentation, but after the recent discussion about it I’ve reconsidered. I have changed my position; now I see the restrictions on the documentation as a serious problem for the community and partner ecosystem.
The arguments I’ve heard in favor of keeping the documentation non-Free do not hold up well when you shine a bright light on them, in my opinion. I will not go into them point-by-point here, nor do I invite comments to that effect on this article, but I have considered every point and every comment in recent discussion on the topic, and I don’t see a single valid reason to keep the documentation restricted. I’m firmly on the side of freedom now. It will be a huge win for everyone.
As usual, I don’t think I can say it as well as Richard M. Stallman does, so I’ll just quote:
But there is a particular reason why the freedom to modify is crucial for documentation for free software. When people exercise their right to modify the software, and add or change its features, if they are conscientious they will change the manual too—so they can provide accurate and usable documentation with the modified program. A manual which forbids programmers to be conscientious and finish the job, or more precisely requires them to write a new manual from scratch if they change the program, does not fill our community’s needs.
Free documentation is required for truly Free software. Karen Padir, please keep your implied promise during your keynote, and license the MySQL documentation under a Free Software documentation license.





