> Are the values in your BTree implemented as persistent lists or some
> other subclass of Persistent? That makes a big difference in the size
> of each commit to the BTree.
Yes, that is exactly the problem. We are using simple Python lists, and
that implies rewriting the whole bucket.
Still, rewriting only the list won't be the best solution, since they
can be pretty big sometimes. That's why I was looking for something like
a BTree-based list (that actually seems to exist).
For more information about ZODB, see the ZODB Wiki:
ZODB-Dev mailing list - ZODB-Dev@zope.org