MVCC
Multi Version Concurrency Control is a method for concurrency control used in multiple database systems.
- It prevents users of a database system seeing inconsistent data when data is being written and read concurrently.
- It is an alternative to using read-write locks which are susecptible to contention issues, especially with long running transactions.
References
Wikipedia: Multiversion concurrency control
Designing Data-Intensive Applications: The Big Ideas Behind Reliable, Scalable, and Maintainable Systems by Martin Kleppmann