here is an interesting oppinion on the write skew issue:
I talked to one of the PostgreSQL developers on a conference last week
and asked him about his oppinion on MVCC and the write skew issue we
detected in ZODB (and in principle in all other MVCC-based DBs).
He said that serialization is not defined *how* the ordering has to be
PostgreSQL approaches this by saying that two transactions that share
parallel execution time are serializable if a serialized schedule can be
set up in any order that does not produce a conflict. (I hope I'm
quoting him correctly.)
In our discussions we always thought intuitively with a more strict
Two transactions that share parallel execution time are serializable iff
the result of the transactions executed in the order that the commits
When I looked up the definitions in Wikipedia about isolation and
serializability again I didn't find any hint about the conditions how to
decide which ordering is preferred.
I think that our more strict approach is the right thing to do here, but
wanted to share the information I got with you. Maybe someone else has
thoughts on this too.
gocept gmbh & co. kg - forsterstrasse 29 - 06112 halle (saale) - germany
www.gocept.com - [EMAIL PROTECTED] - phone +49 345 122 9889 7 -
fax +49 345 122 9889 1 - zope and plone consulting and development
For more information about ZODB, see the ZODB Wiki:
ZODB-Dev mailing list - ZODB-Dev@zope.org