Database Transaction Isolation Levels and MVCC: The Reality of ACID and Multi-Version Concurrency Control