Multiversion Concurrency Control (MVCC) is the method used by Postgres
to provide high read/write concurrency. You might not have heard of it, but if you have heard the Postgres locking behavior described as
“readers don’t block writers, and writers don’t block readers”, MVCC is what allows that behavior. Postgres was an early implementor of
MVCC, but now most relations systems use it.
I attended the Emerging Technologies for the Enterprise Conference today and heard an interesting
talk related to MVCC. It applied the ideas of MVCC (which allows for high concurrency) to the problem of parallel programming, which is
becoming more necessary as massively multi-core systems become more common.