http://java.sun.com/javaone http://java.sun.com/javaone http://java.sun.com/javaone
JavaOne - Experiencing Java technology through education, industry, and community
  2009 Platinum Cosponsor
Intel
  Cosponsors
Cosponsors
  Gen Session Cosponsors
General Session Cosponsors
  Media Sponsors
Media Cosponsors
Home > Technical Session: A New Database for the Cloud

Technical Session: A New Database for the Cloud


by Jim Holliday

In the technical session Drizzle: A New Database for the Cloud (TS-5410), Sun Microsystems' Monty Taylor presented an introduction to Drizzle, an open-source project focused on building a database optimized for cloud and Internet applications. The code base is derived from MySQL, with enhancements for massive concurrency on multicore CPUs. Besides performance enhancements, the goal is to be very robust and reliable, and to have simplified installation and management. Also, the hooks to the database are much more Java-centric. The project has been in existence for several years. It is not yet considered ready for enterprise deployment, but development is proceeding as fast as possible towards that end. Taylor recently came to Sun through the acquisition of MySQL.

The roots of Drizzle date from four years ago, at a MySQL Community Advisory Board (CAB) meeting. At that meeting, some large, important customers (think Facebook) expressed their pain points in using MySQL for large enterprise deployments, and discussed what features they wanted next. Nearly unanimously, they asked that no more features be added! Instead, they wanted the database to perform faster and have a higher level of robustness – the main functions should just work. The other focus from that time was SQL standards compliance. At the OSCOM conference in 2005, one question asked was "Who cares about ANSII standard compliance?" Very few, it turned out. Again, people were more concerned with performance and reliability.

When MySQL was acquired by Sun, this project was forked from the MySQL code base, and coding really began. From the beginning, some fundamental goals were established:

  • Everything should be pluggable. It makes it easy to add new features (for those who want new features) without impacting the performance of the main product. Another side-benefit of pluggability for the cloud use case is that the system can be aware of what plug-ins are installed. The plug-ins are Java technology based.

  • It must be rock-solid.

  • The system must be able to handle and benefit from multiple processor cores and concurrent thread processing. Modern hardware is trending rapidly in this direction.

The old MySQL code base was primarily C language based, with some features of C++. The new challenge was to develop Java language interfaces to the database to leverage the universe of Java database technology. The future plan is to enable all this functionality on the Java platform: asynchronous queries, router-parsable sharding identifiers, preparsed queries, and much more. The MySQL database JDBC driver could already easily allow seamless support of this new Java functionality.

The plug-in architecture of Drizzle allows you to do more than just add functionality to the database. It also makes it possible to really slim down the database to make it fast and with only the core database functionality. Then the architect of a deployment can add the exact functionality required with Java versions of open-source plug-ins such as Memcached and the Gearman message queuing system. All the business logic of a deployment can be moved to Java.

The session's hour was packed with technical details from the rapid-fire delivery of Monty Taylor. Developers in the room were excited to see that the Drizzle project is nearing the stage of real-world deployment in cloud computing.

For More Information

» Drizzle
» MySQL

 

Do you have comments about this article? We welcome your participation in our community. Please keep your comments civil and on point. You may optionally provide your email address to be notified of replies - your information is not used for any other purpose. By submitting a comment, you agree to these Terms of Use.