[Zope-dev] Re: More resilient indexes

Dieter Maurer dieter at handshake.de
Tue Sep 18 14:01:14 EDT 2007


Roché Compaan wrote at 2007-9-18 08:55 +0200:
> ...
>Sorry if I was unclear but what I'm really asking is if it is possible
>to improve the conflict handling of the current indexes that we have in
>Zope. I am also asking if concurrent indexing in the ZODB is a realistic
>goal.

I have implemented "Conflict Reduced Indexes".

They essentially work as follows:

   Standard indexes use for efficiency reasons a complex
   dance with a quite high conflict potential:
   The document list for a term can have 3 implementation
     missing, represented as an integer, represented as an IITreeSet.

   Whenever the implentation type changes, a conflict will occur
   when a concurrent request accesses the same document list.

   The conflict reduced indexes use only 2 implementation types:
     missing and IITreeSet and once, the list used an IITreeSet,
     it remains this way.
   This can leverage the conflict resolution build in "OOBTree"
   and "IITreeSet" quite well.

Nevertheless, it turned out that these separate indexes were
not worth the efford (meanwhile, they have been replaced by
"ManagableIndex").


Keep in mind, that the conflict behaviour improves when
your have lots of indexed data because the modifications then spread over
a large tree, significantly reducing the conflict probability.


-- 
Dieter


More information about the Zope-Dev mailing list