mvcc
-
MVCC(Multi Version Concurrency Control)스터디/MySQL 2024. 11. 27. 22:45
MVCC는 일반적으로 레코드 레벨의 트랜잭션을 지원하는 DBMS가 제공하는 기능입니다. Multi Version Concurrency Control(MVCC)을 직역하면 '다중 버전 동시성 제어'입니다. 이 표현에서 유추할 수 있는 것은 'MVCC는 여러 버전이 존재하며, 동시성 제어와 관련이 있다'는 점입니다. 하나 이상의 버전이 존재한다?하나의 레코드에 여러개의 버전이 동시에 관리됨을 의미합니다. 여러개의 버전이 왜 필요할까?(READ_COMMITTED 격리 수준을 전제로)한 레코드를 수정 중일 때, 해당 레코드를 조회하는 요청이 들어오면, 아직 수정 내용이 커밋되지 않았으므로 수정 전의 데이터를 조회해야 합니다.또한, 하나의 트랜잭션에서 레코드를 수정한 뒤 다른 작업 중 에러가 발생하면 기존 데이..