[Zope] ZODB replication on a per-object basis?

Brad Clements bkc@murkworks.com
Thu, 11 May 2000 09:44:27 -0500


On 11 May 2000, at 16:36, Petru Paler wrote:


> On Thu, May 11, 2000 at 09:29:31AM -0500, Brad Clements wrote:

> > Based on this, it appears that ZSS does not replicate at this time.
> 
>     You're right, but notice the "at this time". Once it will be made
> open source I'm pretty sure that someone will complete it.

Who is someone? Shouldn't that be us?

>    ZEO _does_ invalidation. Otherwise it would be useless.

I saw no mention of how CS invalidates Zope's internal cache based on 
asynchronous information from ZSS. 


> > I'm looking for wide area replication .. like how you might implement a
> > CPAN for Python based on Zope.
> 
>    You want to do this too ? :) ZEO in its current form perfectly fits the
> bill, because you _need_ a centralized site which the mirrors replicate.

I disagree. I think the performance would be bad. 

CS/ZSS is just an RPC implementation of FileStorage (it seems). 
Therefore when Zope needs an object that is not in the in-memory 
cache, CS has to execute an RPC call across the Internet to the 
master copy -- slow..

Since the in memory cache has a limited size (I assume) and/or times 
out old objects (I assume), statistically you're going to get hit with this 
delay on the larger objects (Python packages) whenever you download. 

If you use a distributed file system instead, you don't have this problem. 
Each site can either be a replicating server.. or in the case of Coda, 
each remote site can enable "file hoarding" in their client to keep local 
copies of all objects (files) ..

You definately want local copies of all the data. But these copies need 
to be automatically updated from "the master" (in this application there 
is one master, but in Coda that does *not* have to be the case).

We could do a poor-man's job at this now by running both an FTP server 
and a Zope server pointing to those FTPable files. The FTP server can 
mount a distributed file system (afs, coda)... Then nightly just export the 
Zope database and replicate that to all the clients.

But this isn't quite what I want...



Brad Clements,                bkc@murkworks.com   (315)268-1000
http://www.murkworks.com                          (315)268-9812 Fax
netmeeting: ils://ils.murkworks.com               AOL-IM: BKClements