Have you ever wanted to know what would happen if you had taken a different direction?
A number of months ago I was on the phone with the Rackspace CTO talking about Memcached and Gearman, and the work I am doing there. He had asked me if I had ever thought about creating a slimmed down version of MySQL to work with them.
This is something I get asked with some regularity. People will want MySQL done in some fashion other then what it does by default (aka what serves most of the user base). Taking the code and cutting out the one thing the requester dislikes is a pretty boring task. I keep a notebook of these requests. I consider it valuable feedback, not as single items, but as a whole.
After I got off the phone the idea stuck in the back of my mind. The next day I woke up and started playing with the idea of seeing what a cut down version would look like. One day turned into months. Somewhere along the way I decided to bring in a few people and see what they thought.
The reaction was more ideas, and code followed. We went about asking the question of "What if".
Stored Procedures, Views, Triggers, Query Cache, and Prepared Statements are gone for now. The field types have been simplified and there is an open debate about the SHOW commands (I am falling into the camp that think they may just belong in the client application but not in the server).
Will any of this go back in? It is hard to say. The goal right now is to target a certain class of applications/developers and see if this is useful. As an example:
1) Web based apps.
2) Cloud components.
3) Databases without business logic (aka stored procedures).
4) Multi-Core architecture.
What are the bigger differences in philosophies?
Adopt external libraries, use open source mechanics for contributions, keep to an open style of communication, and remove the line between internal and external development. Essentially do what I have been referring to as "Organic Open Source". We have focused on C99, POSIX and autotools based systems. We have taken to a very micro-kernel design where code is being removed from the center and pushed out to the edges via interfaces. We are taking a Linux/Apache tightly coupled design for modules.
Can you download it and use it?
Not there yet, and we do not have a target date of when we will be ready for production use. If you want to work on this right now you are going to have to roll up your sleeves (hint, "bzr branch lp:drizzle"). I would really encourage you to go read the mailing list (http://launchpad.net/drizzle). Keep an open mind. We are not looking to be 100% compatible with MySQL, so this is certainly not a replacement for MySQL.
The FAQ covers things like how to get involved, code license, etc.
Linuxcast has an podcast this week with me talking about Drizzle:
PS. Launchpad has turned out to be pretty awesome. You should be thinking about using it. Do not get caught up in the git vs bzr vs hg debate. It is not about the tool, think iPod/iTunes. It is about the infrastructure around it.