[ZODB-Dev] ZEO and replication of BTree based objects

Roché Compaan roche at upfrontsystems.co.za
Thu Jun 5 11:50:20 EDT 2003


* Tim Peters <tim_one at email.msn.com> [2003-06-05 08:15]:
> [Roché Compaan]
> > ...
> > Sorry for my ignorance but when will a bucket split? Guess when it's
> > full ;-)
> 
> Actually, when it's a little more than full <wink>.  The maximum size of a
> bucket depends on the kind of bucket it is (== the kind of BTree it belongs
> to), and is measured by the number of key+value pairs in the bucket:
> 
>     IIBTree  120
>     IOBTree   60
>     OIBTree   60
>     OOBTree   30
> 
> These numbers aren't tunable, and were chosen mostly to keep pickle sizes
> reasonable.  Integers require (possibly much) less pickle space than
> arbitrary objects, so the more I's in a flavor of BTree, the more key+value
> pairs its buckets are allowed to hold.

This is very usefull information, thanks Tim.

If I put two and two together it seems that if I have a transaction that
modifies values of existing keys in 10 distinct OOBTree buckets for
example, that 300 objects will need to be replicated. This might be too
expensive for the slow connection our ZEO is running on. I'll
investigate more to come up with actual figures.

-- 
Roché Compaan
Upfront Systems                 http://www.upfrontsystems.co.za



More information about the ZODB-Dev mailing list