List:Replication« Previous MessageNext Message »
From:Alfie John Date:July 14 2011 11:59am
Subject:Re: [Announce] MySQL::Replication - peer-to-peer based,
multi-master replication for MySQL
View as plain text  
Hey Johan,

On Thu, Jul 14, 2011 at 12:43:37PM +0200, Johan De Meersman wrote:
> Interesting idea. Any links to the technical details? How exactly does
> it replicate? What caveats are there?

Apart from the source code, the slides is all i've written about it. To
simplify:

  - the client requests a binlog and a position
  - the server starts reading from the binlog at the given position
  - the server streams each event to the client
  - the client turns off binlogging
  -	the client runs the query locally

The catch is that the client script can be run multiple times, each
connecting to a different server, meaning we get multi-master
replication.

Things not implemented yet:

  - LOAD DATA INFILE events
  - Row-based events
  - Filtering

Relaying (proxy caching) is coming soon...

> I can see a few use cases, but the most obvious would be to use a
> single slave as hot standby for several masters. You could probably do
> load distribution of the same database over several masters, but you'd
> risk the slave not being able to keep up with all the writes, no?
> Would a circular setup of this work better than a regular
> master/master setup?

It depends on what your data is and what you're doing with it.

If you're after a full mesh (i.e. all machines replicate to all other
machines), you're going to get into trouble once replication can't keep
up because of the volume of queries coming in. But by having replication
as a p2p topology, you can now scale out to whatever suits your needs.

Once filtering is done, you'll be able to partition your data. But for
now, you'll could do data partitioning based on binlogs (i.e. have
multiple local MySQL instances, one for each partition writing to
seperate binlogs)... although you're joins wouldn't work :(

I wouldn't use a ring topology because of all the problems associated
with breakage. As for MySQL::Replication, each client references the
source server's binlog and position as opposed to an intermediary
reference (which doesn't help if the intermediary is the one to break).

> What's the layout and use case you're using this for at Opera?

Sorry. I don't know what I'm allowed to say on this one. But I can
probably tell you that we have multiple masters and we aren't using
a ring topology :)

Alfie

> ----- Original Message -----
> > From: "Alfie John" <alfie@stripped>
> > To: replication@stripped
> > Sent: Thursday, 14 July, 2011 11:06:38 AM
> > Subject: [Announce] MySQL::Replication - peer-to-peer based, multi-master
> replication for MySQL
> > 
> > Hi guys,
> > 
> > I would like to announce MySQL::Replication to the list. It's a
> > peer-to-peer
> > based, multi-master replication. We've been using it in production at
> > work (Opera Software) for a while now and it's been fine so far :)
> > 
> > You can probably skip to slide 164 for the info on what
> > MySQL::Replication is
> > all about.
> > 
> > The video of the slide will be up on Vimeo soon. The questions
> > section
> > at the end of my talk was longer than the talk itself, and might also
> > help you get an understanding on what we were trying to achieve.
> > 
> > Alfie
> > 
> 
> -- 
> Bier met grenadyn
> Is als mosterd by den wyn
> Sy die't drinkt, is eene kwezel
> Hy die't drinkt, is ras een ezel
Thread
[Announce] MySQL::Replication - peer-to-peer based, multi-masterreplication for MySQLAlfie John14 Jul
  • Re: [Announce] MySQL::Replication - peer-to-peer based,multi-master replication for MySQLAlfie John14 Jul
  • Re: [Announce] MySQL::Replication - peer-to-peer based, multi-master replication for MySQLJohan De Meersman14 Jul
    • Re: [Announce] MySQL::Replication - peer-to-peer based,multi-master replication for MySQLAlfie John14 Jul
  • RE: [Announce] MySQL::Replication - peer-to-peer based, multi-master replication for MySQLSteven Wechsler14 Jul
    • Re: [Announce] MySQL::Replication - peer-to-peer based,multi-master replication for MySQLAlfie John14 Jul
      • Re: [Announce] MySQL::Replication - peer-to-peer based,multi-master replication for MySQLAlfie John14 Jul
        • Re: [Announce] MySQL::Replication - peer-to-peer based, multi-masterreplication for MySQLRick James15 Jul
          • Re: [Announce] MySQL::Replication - peer-to-peer based,multi-master replication for MySQLAlfie John15 Jul