[ZODB-Dev] RelStorage: Which tables to replicate?

Shane Hathaway shane at hathawaymix.org
Thu May 22 17:18:44 EDT 2008


Tino Wildenhain wrote:
> the standard approach for master-master replicated data is to use
> an UUID-Datatype (see http://en.wikipedia.org/wiki/UUID )

Good point, although we only have space for 64 bits, so the chance of 
collision would be higher than it usually is in a UUID system.

>> That is a serious issue that will lead to database corruption.  The 
>> commit and pack locks need to be cluster-wide.  Does MySQL have a way to 
>> do that?
> 
> Well, synchronous replication is a hard beast, master-master synchronous
> even harder (and you have to ask what problem you really want to solve
> with it, since the trade-offs are massive)

True.  Master-master replication can be done, but it often turns out to 
perform *worse* than a single master, and the mere notion of a 
cluster-wide lock frightens little children who want their daddy to come 
home rather than debug clusters all night.

I'd rather look at master-slave replication with a little enhancement: 
RelStorage already has distinct load and store connections, so it could 
choose a slave when loading and the master when storing.

Shane



More information about the ZODB-Dev mailing list