Databases: Which one's right for me?
tim.one at comcast.net
Sun Jan 11 20:00:37 CET 2004
> BTW, I would like to see somewhere an explanation of how
> ZODB concurrency control and recovery work. Please inform if
> there is some information. I'm not encouraged by the fact that
> in what documentation I can find the definitions are not the
> standard ones.
Of course you're much more likely to get a useful discussion of this on a
ZODB list, like <mailto:zodb-dev at zope.org>.
"The standard" ones aren't all that standard. ANSI SQL-92 defines multiple
isolation levels, and they've been (I think) fairly critiqued as incomplete
and partly ambiguous; e.g.,
A Critique of ANSI SQL Isolation Levels
Hal Berenson, et al.
To complicate matters, as Jeremy says here:
ZODB uses optimistic concurrency control. It can be hard to
describe what isolation guarantees it provides, because optimistic
implementations don't map naturally onto the ANSI isolation levels.
Jeremy's blog there also contains links to more recent papers.
To complicate matters more (in theory, but nicer in practice for most uses),
ZODB 3.3 introduces so-called Multiversion Concurrency Control as default
More information about the Python-list