[ZODB-Dev] Synchronizing connections
Jim Fulton
jim@digicool.com
Sat, 17 Mar 2001 16:20:06 -0500
Andrew Kuchling wrote:
>
> On Sat, Mar 17, 2001 at 04:02:33PM -0500, Jim Fulton wrote:
> >Yes, but this was plumbed through to ZEO only recently I'm afraid.
> >You'll need to get recent ZEO and ZODB from CVS.
>
> OK. It's a good incentive to actually resync with the current Zope tree.
> Thanks for the info!
You should check out the new BTrees (Zope2/lib/python/BTrees)
while your at it. These are much improved. Among other things:
- Incorporate sets, including multi-record sets (TreeSets).
- Generate much fewer database writes, because internal
nodes don't keep track of sub-node sizes. Of course, lengths
are now expensive, which is why there's now a separate Length
class for keeping track of lengths.
- Lengths, BTrees (actually buckets) and sets now support
application-level conflict resolution, which allows conflicts
caught at commit time to be resolved in many cases without
raising conflict errors.
BTW, ZODB now supports application-level conflict resolution.
To get the advantage of it, the storage must have extra suppport, which
is pretty easy to provide. See the changes to FileStorage. Unfortunately,
conflicts can only be resolved at commit time. Conflicts detected
during execution (read) still generate conflict errors. We hope
to address this soon.
Jim
--
Jim Fulton mailto:jim@digicool.com Python Powered!
Technical Director (888) 344-4332 http://www.python.org
Digital Creations http://www.digicool.com http://www.zope.org