The timing of my last post is quite a coincidence. Here I write that the only feature out of the big 5.0 bunch I use is VIEWs and I did not really come out to say that its a must have. Actually with an ORM like Doctrine I can get more or less the same effect (then again in at least one case the point of the VIEW was to present external applications with a time dependent view of the data). So when Drizzle was announced with a cut down feature set I did not dread a single second. Actually I have been collecting articles in order to ready yet another plea to the MySQL folks to open up the development process. So all I can say is: Awesome! Welcome back in the open source world MySQL or shall I say Drizzle?
It seems in terms of the feature set they went back to the 4.1 feature set, but with probably more advanced replication and maybe a few tweaks to the optimizer (though the optimizer is probably a prime candidate for some big time refactoring). Given that I am not wasting any tears on the MySQL 5.0 features, how about 5.1 features? I guess partitioning would be good to keep. The event scheduler is a nice touch, but it seems to me that in the spirit of Drizzle it would make more sense to encourage development of a cross platform scheduler independent of Drizzle.
So what else is there to work on? One feature I hope that Drizzle keeps, and even expands is being as pluggable as possible. Pluggable storage engines, yeah! Pluggable full text search, yeah! Pluggable data types, yeah! Pluggable optimizers, yeah! Hmm thats a lot of yeah, but now that we finally again have millions of testers (which MySQL got rid of with their Enterprise edition) and now even millions of potential developers, we can finally start to be hopeful of what looms ahead. Actually we might even get positively surprised by a new real world driven feature that appears within a few months in a stable enough for production release. Goody!
I completly agree on this! It have to be discussed if partitioning have to be in drizzle or not. I can probably done outside of the database. But for me partitioning is one of the coming killer features, specially as they call drizzle a database for cloud computing (welcome marketing buzz!). I'd really like to have partitoning in drizzle.
I do not know too much about the optimizier-internals, but I think a overhaul of it would save me some painfull "use index" statements.
I think I will miss views and stored procedures since they make my applications readable from the middleware side :-(
Yeah, being able to plug logic into the RDBMS is great if you have different middle tier languages or even just applications communicating with the RDBMS. But I guess it was a conscious decision to not provide this feature set via Drizzle. As a matter of fact most web 2.0 applications will probably not need this.
Instead they will make it the job of some application to provide a consistent view of the RDBMS to the outside via some sort of (RESTy) web service. The other applications just do not get to play with the RDBMS and if you are aware of this limitation from the start, all is well. Alternatively you could replicate some of the data to another server cluster for those other applications.
But the point is .. Drizzle is not meant to be a MySQL replacement for all scenarios.