GSoC/GCI Archive
Google Summer of Code 2012


Web Page:

Mailing List:

Drizzle is an open source database optimized for cloud scale applications. Drizzle was originally forked from the MySQL codebase and re-factored into a modern plug-in based architecture. It is designed to be a modern, lightweight, easy to use database for Internet scale applications and cloud infrastructure.

The codebase is C++, with autotools and bzr in the toolchain.


  • Compression DRIZZLE is an open source project, which is designed to be a lightweight, easy to use database for web applications and cloud infrastructures. DRIZZLE projects mainly based on the popular MySQL DBMS that is decisive reliability and performance. There is a need to implement an extensive compression technique in the drizzle server as well as JDBC driver.
  • Drizzle Backend Support for OpenStack The project aims at providing Drizzle backend support for OpenStack. Drizzle being an open source RDBMS optimized for cloud environments would fit well in the OpenStack infrastructure and both communities would benefit from the same.
  • Extend JSON server to support more than just key-value operations Drizzle 7.1 introduced a HTTP JSON server that allows clients to connect to Drizzle over HTTP, using a JSON based protocol. The 0.1 version still uses plain old SQL as the query language, embedded into the JSON structure. A work in progress also adds a pure json key-value protocol that supports HTTP PUT, POST, DELETE and GET operations. In this project you will further extend the functionality of the pure json protocol to also support querying of secondary indexes, ranges, etc.
  • improved performance regression monitoring and data storage The goal of this project is to improve the infrastructure in staging and enhance the testing process, by implementing automation, genetic algorithms and unit testing of sub-components. This would have the following advantages: Automation reduces human intervention in the testing process. Genetic algorithms facilitates the generation of queries which are not only syntactically right, but also logically correct and produces result. Storage of the test results can be used in execution feedback. Unit testing eases the testing of individual components and sub-components
  • LDAP based policy plugin An LDAP based authorization plugin for Drizzle.
  • Make all plugins dynamic This project involves making a majority of Drizzle plugins dynamic, so that, it would not require restarting Drizzle to change their options/variables. With this addition, once Drizzle is started, it does not have to be restarted to be reconfigured.