← Back to team overview

maria-developers team mailing list archive

Re: Ideas for improving MariaDB/MySQL replication


Robert Hodges <robert.hodges@xxxxxxxxxxxxxx> writes:

> In fact, you could summarize 2-6 as making the binlog (whether written to
> disk or not) into a consistent "database" that you can move elsewhere and
> apply without having to add extra metadata, such as global IDs or table
> column names.  Currently we have to regenerate the log which is a huge waste
> of resources and also have to depend external information to derive schema
> definitions. 

So how should we go about making such improvements to the MySQL binlog, seen
from the point of view of Tungsten? I am thinking about the overall
approach. What would be possible ways forward for Tungsten?

1. If we make the binlog writer pluggable, would Tungsten want to implement
   its own plugin, with its own binlog format specially tailored for its

2. Or would the idea case be that MariaDB created a new standard binlog
   format, based on Google protobuffers or whatever, which would be used by
   both standard replication, Tungsten, and others?

3. Or would it be better for Tungsten just to keep the current binlog format,
   merely adding some smaller enhancements needed in Tungsten (as discussed
   earlier in this thread)?

One issue is how much benefit will come from a new binlog format, weighted
against how much effort will be needed on the part of Tungsten to implement,
support, and maintain the new code. Does Tungsten foresee implementing a new
input binlog format for Tungsten and/or a new binlog plugin for the server? Or
is it more realistic to work on improving the current code?

The other issue is how important compatibility with unmodified Sun/Oracle
MySQL. Will it be a requirement to keep Tungsten compatible with "pure" MySQL?
Or will it be acceptable to require patches to be installed for full
functionality? Or does Tungsten already today require a custom server
installation, so that being based on MariaDB in the future is not a problem,
and just the server has to be compatible with MySQL from a user perspective?

These questions are of course important to plan how this project can fit in
best with Tungsten. So I would be very interested to hear your thoughts on

 - Kristian.