[Bucardo-general] Many multi-master replication

Greg Sabino Mullane greg at endpoint.com
Sat Aug 21 01:19:10 UTC 2010


> Let's make the assumption that I can guarantee that there will be no 
> primary key conflicts between data originating at any of the servers, 
> whether central or remote. Is there any way to trick Bucardo into 
> allowing what is basically a multi-way swap, perhaps though makedelta 
> trickery?

Depends on your topology. If there is really no overlap, and the topology 
simple, you could simply use a bunch of pushdelta syncs. You don't even 
need makedelta if everyone goes direct.

For example, three servers A, B, and C. Changes to any of them need to 
go to the other two. Assuming no pk conflicts, you'd have

pushdelta sync X: sourcedb is A, targets are B and C
pushdelta sync Y: sourcedb is B, targets are A and C
pushdelta sync Z: sourcedb is C, targets are B and C

For a more centralized system, e.g. where B and C cannot talk to each 
other but go through A, you'd do:

pushdelta sync X: sourcedb is A, targets are B and C
pushdelta sync Y: sourcedb is B, target is A, makedelta on
pushdelta sync Z: sourcedb is C, target is A, makedelta on

The makedelta basically adds rows such that a row coming from B 
and going to A is put into bucardo_delta as if the normal A 
triggers fired it, but it's marked as "already sent" to B. Thus, 
it keeps going to C. Needless to say, the first solution above is 
preferred.

-- 
Greg Sabino Mullane greg at endpoint.com
End Point Corporation
PGP Key: 0x14964AC8
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 163 bytes
Desc: not available
Url : https://mail.endcrypt.com/pipermail/bucardo-general/attachments/20100820/322e6dc9/attachment.bin 


More information about the Bucardo-general mailing list