Developing Replication Plugins for Drizzle

*
Accepted Session
Long Form
Scheduled: Wednesday, June 2, 2010 from 10:00 – 11:45am in Steel

Excerpt

The Drizzle Project is a fork of the MySQL 6.0 server. One of the many goals of Drizzle is to enable a large plugin ecosystem by improving, simplifying, and modernizing the application programming interfaces between the kernel and the modules providing services for Drizzle. This tutorial serves to showcase the new APIs for Drizzle's replication through a series of in-depth examples.

Description

The Drizzle Project is a fork of the MySQL 6.0 server, aimed at serving large cloud computing environments. One of the many goals of Drizzle is to enable a large plugin ecosystem by improving, simplifying, and modernizing the application programming interfaces between the kernel and the modules providing services for Drizzle.

Drizzle’s replication system is entirely new and different from MySQL. It uses Google Protobuffer messaging in its application programming interface to communicate changes to the state of one server to another server. Plugins are easy to implement which enable a developer to entirely customize their replication system. This tutorial describes the APIs used in Drizzle’s replication system in depth and walks through the construction of several example plugins demonstrating the flexibility and power of the replication API.

Topics covered include:

  • Overview of Google Protobuffers message API
  • Overview of the flow of messages through Drizzle’s replication system
  • Understanding the Transaction and Statement messages
  • Understanding the TransactionReplicator and TransactionApplier APIs
  • Overview of Drizzle’s Transaction Log module, which demonstrates an example TransactionApplier plugin
  • Walkthrough of the FilteredReplicator plugin
  • Walkthrough of the MemcachedApplier plugin

Speaking experience

Speaker