On Nov 2, 2007, at 5:48 AM, Lennart Regebro wrote:

On 11/1/07, Matt Hamilton <[EMAIL PROTECTED]> wrote:
An interesting idea. Surely we need the opposite though, and that is an additional BTree with a very large bucket size, as we want to minimize the chance of a bucket split when inserting? Then we occasionally consolidate and move the items in the original BTree with the regular bucket size/ branch factor.

Would it be possible to not "occasionally" consolidate, but actually
do it ongoing, but just one process, thereby always inserting just one
transaction into the normal BTree at a time? Or does that cause

I think that option would work.  I think it would suffice to do a
"Big.update(Small); Small.clear()" operation before a nightly pack.
It might invalidate every bucket in every cache, but BTrees are
designed to perform reasonably without a cache.

For more information about ZODB, see the ZODB Wiki:

ZODB-Dev mailing list  -  ZODB-Dev@zope.org

Reply via email to