← Back to team overview

maria-developers team mailing list archive

Re: Ideas for improving MariaDB/MySQL replication

 

Alex Yurchenko <alexey.yurchenko@xxxxxxxxxxxxx> writes:

> So when refactoring replication code and API we suggest to think of
> replication as of redundancy service and establish a general API for such
> service that can be utilized by different implementations with different
> qualities of service. In other words - make a whole replication system a
> plugin (like storage engines are), not only some measly filters.

Serg pointed me to this page, which is an early description of a plugin API
for replication that the replication team at MySQL has implemented:

    http://forge.mysql.com/wiki/ReplicationFeatures/ReplicationInterface

It seems this is what they used to implement Semi-Synchronous replication,
which (as I mentioned) is available as a feature preview:

    http://forge.mysql.com/wiki/ReplicationFeatures/SemiSyncReplication

You might want to look into it. The semi-synchronous replication is in fact
loaded as a plugin in the MySQL implementation; this is from the presentation:

  On master
     – INSTALL PLUGIN 'rpl_semi_sync_master' SONAME
       'libsemisync_master.so';
     – SET rpl_semi_sync_master_enabled=1;
     – SET rpl_semi_sync_master_timeout=1000; (1s, default 10ms)
  On slave
     – INSTALL PLUGIN 'rpl_semi_sync_slave' SONAME
       'libsemisync_slave.so';
     – SET rpl_semi_sync_slave_enabled=1;
     – START SLAVE;

We already have a number of links now, so I created a wiki page to collect
this and other information for easy access:

    http://askmonty.org/wiki/index.php/ReplicationProject

(Let me know if you need edit rights on this page; we haven't fully sorted out
how to handle community access to edit on the wiki, but we will add it somehow
if necessary).

 - Kristian.



Follow ups

References