MVCC in PostgreSQL

Moin Moin,

actually I received a tweet to a blog post from J. Chris Anderson (CouchDB developer) with title “Fixing HTML 5 Storage”. He is writing about the approaches of implementing a local storage feature to HTML 5 (http://dev.w3.org/html5/webstorage/#the-storage-interface). Please read his very interesting post at http://jchrisa.net/drl/_design/sofa/_show/post/Fixing-HTML-5-Storage.

He was talking about which the best way would be to implement this feature and is concerned about having no locks while storing or reading data. That means that a multi version concurrency control (MVCC) should be implemented (like also in CouchDB).

MVCC was originally introduced by PostgreSQL (edit: apparently by InterBase - thanx to andreas) and this is a really big advantage compared to database systems with out it. There is a very good article written by Joseph Mitchell about how MVCC is working in PostgreSQL. The article was written 2001 but is still up to dat. I ask you to read it under http://onlamp.com/pub/a/onlamp/2001/05/25/postgresql_mvcc.html?page=last&x-maxdepth=0 to get an idea what MVCC in PostgreSQL is.

More about MVCC can also be read in the offical PostgreSQL docu under http://www.postgresql.org/docs/8.4/interactive/mvcc-intro.html

Andy

Published: July 14 2009