← Back to team overview

maria-developers team mailing list archive

Re: Ideas for improving MariaDB/MySQL replication

 

Hi!

On Thu, 13 May 2010 16:36:41 +0200, Sergei Golubchik <serg@xxxxxxxxxxxx>
wrote:
 
> I may still use words "master" and "slave" below, in the sense that the
> part of the code that takes the changes generated by local clients and
> sends them out can be called "master" and the part of the code that
> receives them and applies can be called "slave". Both can be active on
> the same node though.

Indeed. In fact we use them in the same sense internally for lack of
better established terminology.
 
>  * there's no explicit global transaction ID here, but I presume
>    there can be a filter that adds it to events. That would work, as
>    long as replication decides on the commit order (which is does, even
>    now in MySQL/MariaDB).

Well, I cannot really argue against what you're proposing, as it is all
nice.

However, as a side note, my impression is that you're proposing generic
message passing architecture, not a replication/redundancy model. The
difference is that you can implement all these producer-consumer
interfaces, but it is not enough to make a redundancy service - you'll be
just passing messages around. Global transaction ID is not just
"nice-to-have". It is a cornerstone of the redundancy model that we
proposed in that it defines a state if the database, thus making it
possible to talk about a database state, comparing states, recovering a
state, transferring a state and so on. There (perhaps) can be other
redundancy models, but your proposal seems to deal solely with message
passing, filtering and protocol encapsulation, with no redundancy in any
recognizable form.

This is not to say that your proposal is not good - as a middle-level
implementation detail it may be the way to go. Just wanted to point out
that it is not enough for redundancy/replication system. And I'd be
seriously curious to see how you could make it without pulling in global
transaction IDs (at least implicitly, as it is done in the current MySQL
replication)

Regards,
Alex
-- 
Alexey Yurchenko,
Codership Oy, www.codership.com
Skype: alexey.yurchenko, Phone: +358-400-516-011




Follow ups

References