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 established.

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 requirement:

Two transactions that share parallel execution time are serializable iff the result of the transactions executed in the order that the commits happened.

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

Reply via email to