Implementing MVCC and major SQL transaction isolation levels | notes.eatonphil.com