GSoC/GCI Archive
Google Summer of Code 2010

Drizzle

Web Page: http://drizzle.org/wiki/Soc

Mailing List: https://launchpad.net/~drizzle-discuss

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.

 

The project is focused on making a database that is:

  1. Reliable
  2. Fast and scalable on modern architectures
  3. simple design for ease of installation and management

 

 

 

 

 

Projects

  • A Memcached Query Cache Plugin for Drizzle Caching is a key ingredient to scale web applications, a simple principle that avoids dbms access if the same query is being executed over and over. The goal of this project is to create a query cache plug-in for Drizzle, that will permit to scale out the memory by storing results of redundant queries in a cache repository like memcached, then return the cached results to clients if the same request is executed, thus without having to parse and execute the query again.
  • Add a Proper Unit Testing Framework to Drizzle This proposal concerns integrating an unit testing framework with Drizzle and creating unit tests for the main parts of the project. Drizzle uses a regression test suite which allows a fairly good detection of newly introduced bugs. However, it has also its limitations. Most of them could be eliminated with the complementary functionality of an unit testing suite. With the numerous additional benefits it provides, I think it is worth taking the effort of putting the project into practice.
  • Cloud based Storage Engine for Drizzle This project will provide a Clould-based Storage Engine for Drizzle - allowing storing and retrieving of data from Cloud Storage Services including both AWS S3 and Rackspace Cloud Files.
  • Development on the Boots Command Line tool The aim of project is to implement following features in Boots tool. * curses-ui * better-input-parsing * syntax-highlighting * server-indexing * tab-completion Completion of these features will help in providing a better user interface to users of drizzle and other databases.
  • MySQL to Drizzle Syntax Rewriter Plugin The aim of this project is to develop a syntax rewriter plugin which can converts MySQL dumps to scripts.A lot of data types and commands have been removed in drizzle to make Drizzle into a lean, mean query-running machine. Drizzle’s aim is to keep focused on MySQL's original goals of ease-of-use, reliability and performance. But these changes make MySQL dumps incompatible with drizzle and create problems to users who want to shift to Drizzle. This project will help them in shifting to drizzle.
  • Refractor Command-Line Option and Configuration File Processing The goal of this project is to remove all of the custom command-line option and configuration file parsing code inside of Drizzle with the boost::program_options library. This will not only cut out a significant portion of source code that is weakly tested, but will replace that code with a well-tested and standardized library of code.
  • Replication Plugin for replicating from Drizzle to Memcached Drizzle is a dbms for cloud where scalability is the major concern. Memcached is a caching server between the database and the client which was designed to alleviate the dbms load by caching recently read results from dbms. Inbuilt caching feature is desirable to make Drizzle scalable while helping app developers write less code. The aim of the project is to write a replication plugin which replicates from Drizzle to Memcached maintaining integrity of the dbms while achieving better performance.