[ZODB-Dev] Synchronizing Mirror Sites

Shane Hathaway shane at zope.com
Mon Jul 21 15:04:20 EDT 2003


Norfleet, Sheppard S. wrote:
> It seems like all the available replication is centered on an available IP
> connection. The environment I am in, requries that I store up changes, and
> at a certain time of the day, burst the changes to master server, that will
> send me updates from other servers.  Only in that short window of time is
> the master server available.
> 
> Therefore, I need to find a way to store the transactions in an outbound
> queue, and handle incoming transactions from an inbound source.  Does anyone
> have any ideas about how I can accomplish this?

Is there any chance that the data from the master and secondaries will 
need to be merged?  Or does each node write exclusively to a particular 
part of the database?  If you have to merge data, you probably need to 
replicate at the application level.  If you don't need to merge data, 
you can use rsync or copyTransactionsFrom(), momentarily taking a node 
offline while importing data.  You might even take advantage of the 
restore() API to avoid the short downtime.

Alternatively, you can use Ape with a version control tool to merge data 
at the database level.  I'd like someone to try this, but I can't 
recommend it quite yet, since it wouldn't update the ZODB cache properly 
yet.

Shane




More information about the ZODB-Dev mailing list