So, most of you have heard about Drizzle by now. For those that have not, you can check out many, many blog posts or the Launchpad page.
The thread on Slashdot about Drizzle was quite negative. Most misunderstand what Drizzle is about. SQLite is not a good solution when you have 100 web servers. Let me describe how it I would use it and maybe that will help some understand it.
When it comes to MySQL use, dealnews has two very different use cases. The first is an enterprise storage system that involves content creation, reporting and data warehousing. For that layer of our business, we are using more and more advanced features as they become available. We use triggers and stored procedures. We use complex data types for specific use cases. All those features are a big gain.
The other way that we use MySQL is for serving content to our readers. I have written about this before. For this purpose, we avoid joins, don’t use any advanced features. We do use replication, indexes and intelligent queries. We don’t (as one slashdot reader claimed) do all of our processing in the code. That would be stupid. If you do that you are ignorant. I will stop talking about that before this becomes a rant. I do believe in letting MySQL do my work for me.
This is where Drizzle fits in. To serve content, I don’t need stored procedures, triggers, views or any of that other stuff. The whole database that the front end web servers use is basically a view. It is a denormalized, prepared version of the real data. I store objects. But, I have to be able to sort and filter the data in a way that SQL allows me to do. CouchDB sounds interesting. Maybe one day it will be there. It is sill in the optimization phase.
Now, some say that this is just MySQL 3.x all over again. Well, you clearly have not been listening to the really smart people that are working on Drizzle. They are doing more than just removing the 4.1 and 5.x features from MySQL. They are removing things that don’t make sense for this use case. They are adding things that do make sense. They are replacing parts of the code base where there is a better library or way of doing it. At this point, they have no feature requirements to meet. They have no deadlines. They are making what they think the high volume web world and/or cloud computing needs. They are making it plugable: think Apache modules or PHP extensions. So, if you need feature XYZ that was yanked out, you can add it back in (hopefully) via the internal API. There is a lot more going on here than just removing “features”.
So, I am cheering on the folks working on Drizzle. I have joined their community and will provide what feedback I can from userland. I am no C++ coder. I can read it. I can debug it. But, writing it or doing heavy lifting is not in my skill set. Hopefully I can contribute