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

Chris Keane chris.keane at zzgi.com
Fri Jan 18 15:43:54 UTC 2013


Hi,

We've been using bucardo in its various incarnations for years now, and 
love it. We're actively changing our database connectivity structure and 
wanted to check for sanity before we get too crazy.

We have many clients, all of whom currently have a separate database on 
our servers. Each client has their own mobile server which is 
periodically connected to the internet but spends most its life powered 
down. We currently have each of those mobile servers set up to be a 
unique bucardo server, so when it powers up it starts bucardo and syncs 
all the fresh data from that client's database.

We are planning to consolidate all the separate databases on our central 
servers to a single database. So now, there is a single central 
database, and many client databases that are normally not connected but 
when they are should get a copy of all fresh data. While powered on, 
each should replicate live.

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.

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?

Note that I'm only concerned with the bucardo configuration, the primary 
key issue is one that we solved years ago (all databases are set up with 
a unique code that is prefixed to each primary key in the database, so 
we can even tell which database originated a specific piece of data).

Any thoughts?

Chris.



More information about the Bucardo-general mailing list