← Back to team overview

maria-developers team mailing list archive

Re: Thoughts on Global Transaction ID, parallel slave, and multi-source replication

 

Kristian Nielsen <knielsen@xxxxxxxxxxxxxxx> writes:
>     https://mariadb.atlassian.net/browse/TODO-171

this seems to be private, and I can't view even having created a JIRA account.

> Suppose we instead make the decision on the _master_ on how to split up the
> replication stream for parallel apply. Instead of a single server-id for the
> master, we can have multiple - let us call them "Source ID".
>
> On the _master_, we will decide that two transactions in different databases
> are independent, and assign them different Source ID. The slave then receives
> multiple replication streams, and is free to execute each stream in parallel -
> or not, at the discretion of the DBA. Transactions _within_ a single stream
> are always executed in-order, so the slave has no need to remember any sets of
> all transactions ever executed - all it needs to remember is the sequence
> number within each stream it has seen - ie. last sequence number for each
> Source ID. This is a simple and obvious generalisation of the old concept of
> current binlog position. Downstream slaves see the exact same binlog
> sequences, each with transactions in the same order (though sequences may be
> interleaved differently) - so changing masters is simpler, all servers in the
> hierarchy have the same view.

How would this work with a cross database transaction that depends on
previous transactions in both database?


-- 
Stewart Smith

Attachment: pgprGzWknGL5N.pgp
Description: PGP signature


Follow ups

References