Drizzle: a lightweight SQL DB for the cloud
effective immediately, we have moved to our dedicated servers in http://www.brizoma.com/
Please update your bookmarks, since we will not update this site anymore.
See you in BRIZOMA.COM
The bad weather in Berlin reminded me of the wonderful project Drizzle, forked from the MySQL project back then in mid 2008. I made some speculations and research about their future, especially after the acquisition of Sun Microsystems by Oracle. For those who don’t know it, MySQL is owned by Sun…
It seems like there’s been nothing but bad news and resignations coming from Oracle since it finally managed to close the deal on Sun. But on the contrary, Drizzle seems to have a bright future ahead. It just isn’t with Oracle, but with the Rackspace Cloud.
Drizzle is a Free Software/Open Source database management system (DBMS) that was forked from MySQL DBMS. Like MySQL, Drizzle has a client/server architecture and uses SQL as its primary command language. The Drizzle project is building a database optimized for Cloud and Net applications. It is being designed for massive concurrency on modern multi-cpu/core architecture. The code is originally derived from MySQL, hence being GPLed v2.0 too.
Early work on the fork was done by Brian “Krow” Aker. Ongoing development is handled by a team of contributors that includes staff members from Canonical Ltd., Google, Six Apart, Sun Microsystems and others. Drizzle is targeted at the web-infrastructure and cloud computing markets. The developers of the product describe it as a “smaller, slimmer and (hopefully) faster version of MySQL”.
Platforms and interfaces
Drizzle is written in the C++ programming language, and stores its string data in an UTF-8 format. It is being developed for modern Unix-like operating systems, including Linux, Mac OS X, and Solaris – in general, any OS that conforms to POSIX and has a working implementation of the GNU Autotools. Microsoft Windows is not supported at this time, but there has been discussion of how to accomplish this in a sensible manner, although I’m happy when I see that products are not developed for Microsoft’s platform.
Question: Drizzle’s Future Moving To Rackspace?
It seems that is a big interest in this flexible database project, being Drizzle somehow a middle-point DB engine between SQLite and MySQL. Specifically Rackspace is investing heavily in Drizzle for its Rackspace Cloud. They could see Drizzle as the answer to problems that MySQL can’t solve. Rackspace recognizes that the pain points they feel with traditional MySQL cannot be solved with simple hacks and workarounds, and that to service the needs of so many customers, they will need a database server that thinks of itself as a friendly piece of their infrastructure and not the driver of its applications. Drizzle’s core principles of flexibility and focus on scalability align with the goals Rackspace Cloud has for its platform’s future.
Rackspace is also heavily invested in Cassandra (the database management system developed by Facebook), and sees integration of Drizzle and Cassandra as being a key way to add value to its platforms and therefore for its customers. It’s really good to see that the Drizzle team receives support to continue driving the project. The Drizzle Project is a shining example of a project being set up right. Rackspace seems to be a good place for Drizzle, a place to develop a database designed for the cloud in one one of the fastest growing cloud platforms.
It also makes me wonder whether all of the fuzz over MySQL was authentic. MySQL has played an important role for more than a decade, and will continue to be an important part of FOSS for the foreseeable future, but other projects like PostgreSQL will definitely gain momentum. Surveys show a decline in MySQL usage for the next four years. MySQL isn’t going anywhere, but it also doesn’t look like it’s going to continue growing or remain as crucial to the community as it has been.
Drizzle is a stripped down version of MySQL is planned to strip out common MySQL features such as:
– stored procedures
– query cache
– prepared statements
– some non-pluggable storage engines
Instead Drizzle is doing:
+ micro kernel architecture, making Drizzle more modular than MySQL
+ more pluggable interfaces, such as for authentication and for logging
+ multi-core optimization (compared to MySQL’s potentially lacking multi-core optimization)
+ fewer data types
+ fewer engines
+ less code making for a smaller and potentially more maintainable codebase
I found a very interesting article written by Brian Aker, one of the core developers of MySQL, about how Drizzle is handling both its code contributions and its testing. He has listed the tools they use and how they work with their processes. He also makes an interesting statement about the signing of corporate code-contribution agreements and how there are some, including Rasmus Lerdorf (creator of PHP), who refuse to sign them.