[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