[ZODB-Dev] ZEO and replication of BTree based objects
Jeremy Hylton
jeremy at zope.com
Wed Jun 4 17:36:09 EDT 2003
On Wed, 4 Jun 2003 22:16:01 +0200
Roché Compaan <roche at upfrontsystems.co.za> wrote:
> Hi there
>
> What exactly happens to a ZEO ClientCache when another
> ZEO client makes
> modifications to BTree based objects? Let's say I have an
> object that
> has an OOBTree data attribute. Will the whole object be
> retrieved from
> the server each time new keys are set or will only the
> transactions the
> object were involved in be replicated to the client?
ZEO uses invalidation-based cache consistency. When one
client modifies an object, the other clients receive
invalidation messages. The other clients don't load the
object unless they attempt to read it.
A BTree is composed of many persistent objects -- typically
a parent btree node and a bunch of buckets hangning. Each
persistent object is invalidated independently. If you add
one key to a BTree, that will modify and, thus, invalidate
just one bucket. (Unless the bucket splits, in which case
the parent is also modified.)
Jeremy
More information about the ZODB-Dev
mailing list