The last quarter has been a pretty exciting time for all of us working on Drizzle. We completed the Bell milestone back in January and began immediately plowing into Cherry, our next release. Somewhere in the last couple of months we have seen transition of all of the Drizzle developers at Sun moving into full time positions at other companies working on Drizzle, and we have seen the non-Sun developers move into other positions as well (most note'ably Padraig who went to work for Akiban).
So what is happening for the Cherry release?
We are adding direct support for LDAP in the next release. With this we be able to fetch authorization information from LDAP. All of this work is being done via our plugin system and builds on the work we have done for PAM and HTTP Auth. We know that companies already have identity systems and don't want to have to deal with "yet another system".
Will you support the MySQL protocol? The answer is that we will be supporting the MySQL protocol. Today we support our own protocol but we have decided to go back and support the MiniSQL/MySQL protocol. So how are we going about doing this? There will be a plugin you can load, that we will be testing, that will allow Drizzle to speak the MySQL protocol. So you can leverage all of the drivers you use today. Please note that I said "will be testing". Up till now no one has ever written a set of unit tests or a "please crash the server" sort of test on that protocol. For us to feel good about supporting the protocol, we have put together a set of tests to do exactly this. You can run the tests on any of the M/M protocol speaking servers that are being shipped today. We have licensed the test system using the BSD license. We did this so that anyone who ships M/M servers today can feel comfortable about making use and extending what we have made available. In the Memcached world we created Memcapble in order to allow end users to self certify their Memcached servers. We believe that this same sort of process needs to happen around the M/M protocol as well.
Stewart Smith is working on moving us off the Innodb plugin, and onto the Innodb Embedded Server. We continue to support Innodb and we believe that moving to the embedded server is the best way to support end users longterm.
Our ongoing work to enhance replication continues. We are working on adding log shipping to the next version of Drizzle. We will also be removing RAW SQL transport of DDL operations. This allows us to easily take Google Protobuffer messages and translate our schemas into schemas for other databases. We know that data centers are not homogeneous, and that we need to play nicely with other databases.
The first version of query rewriting went into the server last week. This is the first step to us having a full query rewrite system in Drizzle. This allows storage engine vendors to easily adapt to Drizzle in the Data Analytics world, and will allow us to eventually add support for VIEWS. The first version allows for user level rewrites but the second generation that is coming will allow for parsed tree rewrites.
In the past a "schema", aka a "databases", was just a directory. Now they are fully supported as objects in our system and have their own caching layer. This allows for better integration with engines and provides support for engine writers to do fully transactional DDL on schemas. This is very exciting since it really means that engines are no longer locked into the "MyISAM" shoe.
Goodbye information schema and all of its bugs! No more materialization, no hidden execution paths, and no locks on table and schema lookups. We have transitioned to a system where we now have Table Functions. These allow us to expose more data to the outside world with none of the costs that were associated with the old system. "SHOW" commands are now just query rewrites, and we have been able to further shrink the size of our parser.
The above sums up all of the big stuff going on for this release, and doesn't include the incoming work for developers or partners who haven't committed to the release. Cheery will be completed by the time we hit the O'Reilly MySQL User's Conference in April. I'll be giving a keynote there on the State of Drizzle. The conference should make for an exciting event!