MVCC

Multi Version Concurrency Control is a method for concurrency control used in multiple database systems.

References

Wikipedia: Multiversion concurrency control

Designing Data-Intensive Applications: The Big Ideas Behind Reliable, Scalable, and Maintainable Systems by Martin Kleppmann