The open source MySQL database began life as a lightweight alternative to big, resource-hungry database management systems, such as Oracle or Sybase. Over the years, however, users have clamored for more and more features, causing MySQL's codebase to swell with capabilities that had previously only been found on its commercial cousins.
But not every MySQL developer agrees with this direction. Some feel that it's high time not just to apply the brakes, but to take a U-turn. In particular, some customers in the Web application development community have been calling for a lean, mean database that doesn't waste time with higher-end features that aren't necessary for Web apps. This week, their call was answered.
The Drizzle project, announced on Wednesday by MySQL director of architecture Brian Aker, attempts to re-invent MySQL using a micro-kernel architecture. Superfluous features will be stripped out of the database core and moved into modules, allowing users to load them or leave them as desired. Among the features marked for modularization include triggers, views, stored procedures, access control lists, and some data types.
According to the project's FAQ, its target audience is "Web infrastructure backend and cloud components." Its code will be developed with modern multi-cpu/multi-core architectures in mind, with the aim of enabling massive concurrency on a scale that outstrips the current MySQL implementation. It will support both 32-bit and 64-bit CPUs.
MySQL AB, the company that holds the copyrights to the MySQL codebase, was acquired by Sun Microsystems in April of this year. Although the MySQL group still operates more or less independently within Sun, the MySQL database is technically a Sun software product.
Not so Drizzle, which will be developed more or less independently, at least for now. Although several of the lead Drizzle developers do work for Sun/MySQL, Aker writes in the project FAQ, "The development model is one based around open collaboration." The project's source code will be made available under the GPL v2 open source software license.
For now, no concrete schedule for a general-availability release of Drizzle has been announced. If you or anyone within your organization would like to get involve by contributing code to the initial release, however, instructions are available in the FAQ and the Drizzle Wiki.