[ZODB-Dev] The write skew issue

Christian Theune ct at gocept.com
Tue Jan 29 10:32:01 EST 2008


Hi,

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.

Christian

-- 
gocept gmbh & co. kg - forsterstrasse 29 - 06112 halle (saale) - germany
www.gocept.com - ct at gocept.com - phone +49 345 122 9889 7 -
fax +49 345 122 9889 1 - zope and plone consulting and development


More information about the ZODB-Dev mailing list