[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