[ZODB-Dev] Re: ZODB Benchmarks

David Binger dbinger at mems-exchange.org
Thu Nov 1 17:00:59 EDT 2007


On Nov 1, 2007, at 4:25 PM, Matt Hamilton wrote:

> David Binger <dbinger <at> mems-exchange.org> writes:
>
>>
>>
>> On Nov 1, 2007, at 7:05 AM, Matt Hamilton wrote:
>>
>>> Ie we perhaps look at a catalog data structure
>>> in which writes are initially done to some kind of queue then moved
>>> to the
>>> BTrees at a later point.
>>
>> A suggestion: use a pair of BTrees, one with a high branching factor
>> (bucket size)
>> and one with a very low branching factor.  Force all writes into the
>> tree with little
>> buckets.  Make every search look in both trees.  Consolidate
>> occasionally.
>
> 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.

You may be right about that.  Conflict resolution makes it harder for
me to predict which way is better.  If you don't have conflict  
resolution
for insertions, then I think the smaller buckets are definitely better
for avoiding conflicts.  In either case, smaller buckets reduce the
size and serialization time of the insertion transactions, and that  
alone
*might* be a reason to favor them.  I think I'd still bet on smaller
buckets, but tests would expose the trade-offs.










More information about the ZODB-Dev mailing list