1. MVCC(Multi-Version Concurrency Control)
- MVCC는 MySQL의 InnoDB 스토리지 엔진에서 사용하는 동시성 제어 메커니즘입니다.
- 여러 트랜잭션이 동시에 데이터베이스에 접근할 때, 각 트랜잭션이 데이터의 특정 버전(스냅샷)을 보게 함으로써 동시성과 격리성을 모두 제공합니다.
- MVCC의 핵심 아이디어는 데이터를 읽는 트랜잭션이 데이터를 수정하는 트랜잭션을 차단하지 않고, 반대로 수정하는 트랜잭션도 읽는 트랜잭션을 차단하지 않는 것입니다.
- 여시서 MVCC의 멀티 버전이라 함은 하나의 레코드에 대해 여러 개의 버전이 동시에 관리된다는 의미입니다.
- MVCC의 가장 큰 목적은 Lock(잠금)을 사용하지 않고 일관된 읽기를 제공하는 것입니다.