MVCC(다중 버전 동시성 제어)는 고급 기술입니다. 다중 사용자 환경에서 데이터베이스 성능을 향상시키는 기술 환경. 바딤 미케예프 (<vadim@krs.ru)이 제공한 구현포스트그레스.
잠금을 사용하는 대부분의 다른 데이터베이스 시스템과 달리 동시성 제어,포스트그레스다중 버전 모델을 사용하여 데이터 일관성을 유지합니다. 이 이는 데이터베이스를 쿼리하는 동안 각 트랜잭션이 데이터 스냅샷(a데이터베이스 버전) 얼마 전과 마찬가지로, 현재의 상황에 관계없이 기본 데이터. 이는 거래가 조회되지 않도록 보호합니다. (다른) 동시 발생으로 인해 발생할 수 있는 일관되지 않은 데이터 동일한 데이터 행에 대한 트랜잭션 업데이트 제공트랜잭션 격리각 데이터베이스에 대해 세션.
다중 버전과 잠금 모델의 주요 차이점은 다음과 같습니다. 데이터 쿼리(읽기)를 위해 획득한 MVCC 잠금에서는 데이터 쓰기 및 읽기를 위해 획득한 잠금과 충돌합니다. 쓰기를 차단하지 않으며 쓰기를 차단하지 않습니다.