[Bucardo-general] Multi-master / random off- and online

Greg Sabino Mullane greg at endpoint.com
Wed Jan 23 04:45:58 UTC 2013


TL;DR Both configurations could work

> Configuration A: Each mobile server continues to run its own bucardo
> process and syncs data with the main central server whenever the
> mobile version is powered on. The issue here is that the central
> server would need to somehow track deltas for each mobile database.
> I'd be OK with having a different bucardo schema for each client if
> that was the only way (e.g. instead of bucardo.*,
> bucardo_clientx.*). That seems cumbersome to me.

Deltas are not tracked per target, but commit timestamps are (aka bucardo_track). 
In other words, Bucardo can be taught the list of target for each table, 
and will thus never purge a bucardo_delta record until it has been replicated 
to all systems. This is already in place and could work out for you. One 
drawback is that deltas can never be completely cleaned until everyone 
has come back to life and copied the row. So a long-dead system could 
eventually bloat up the bucardo_delta table. As B5 uses multiple, per-table 
bucardo_delta tables, this is not much of an issue anymore.

> Configuration B: bucardo runs on our server cluster and handles the
> replication down to each mobile database whenever the database comes
> online. Lots of special processing happens when a client comes
> online anyway (like software auto-updated via git), so adding
> something to kick the main server would be easy. However, I've been
> skimming this list and it seems that we'd have an issue since all
> mobile databases are never online at the same time and from my
> cursory reading of this mailing list over the years, bucardo needs
> all client master databases online simultaneously to replicate to
> any of them. Did I misread, or is there some way to cope with this?

Yes, there are some outstanding issues related to this I need to look into 
fixing sometime real soon. Once fixed, however, there is no reason this 
approach should not work. You would simply mark the relevant sync 
and/or db as 'active' or 'inactive' and Bucardo will do the right thing. 
That's not there yet though.

-- 
Greg Sabino Mullane greg at endpoint.com
End Point Corporation
PGP Key: 0x14964AC8
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 163 bytes
Desc: Digital signature
URL: <https://mail.endcrypt.com/pipermail/bucardo-general/attachments/20130122/b9839bec/attachment.sig>


More information about the Bucardo-general mailing list