MVCC and Couch's revision system - ace411/fauxton-client GitHub Wiki

MVCC

MVCC is Multi-Version Concurrency control; a concept strongly associated with CouchDB. MVCC is an alternative to locking, a standard widely implemented in SQL architectures.

  • Locking makes it impossible for multiple users to make updates to a database thereby creating situations that can only be changed with "ROLLBACK" or "COMMIT" statements. Locks are usually placed on databases but can also be placed on files.

How Couch uses MVCC

Multiple changes can be made to a document even during peak usage periods. The implication is that multiple revisions of a document (identified by the _rev key identifier) can be stored and eventually harmonized. This arrangement is similar to version creation and control.

Further reading: