MVCC (Multi-Version Concurrency Control)는 고급입니다 다중 사용자의 데이터베이스 성능 향상 기술 환경.Vadim mikheev구현 제공Postgres.
잠금 장치를 사용하는 대부분의 다른 데이터베이스 시스템과 달리 동시력 관리,Postgres다중 모델 모델을 사용하여 데이터 일관성을 유지합니다. 이것 데이터베이스를 쿼리하는 동안 각 트랜잭션은 데이터 스냅 샷 (a데이터베이스 무지개 토토) AS 얼마 전, 현재의 상태에 관계없이 기본 데이터. 이것은 거래가보기를 보호합니다 (다른) 동시에 발생할 수있는 일관성없는 데이터 동일한 데이터 행에 대한 트랜잭션 업데이트, 제공거래 격리각 데이터베이스에 대해 세션.
Multiversion과 Lock 모델의 주요 차이점은 쿼리 (읽기) 데이터를 위해 획득 한 MVCC 잠금 장치에서는 충돌하지 않습니다. 데이터 작성을 위해 획득 한 자물쇠로 읽기는 절대 차단하지 않습니다. 글쓰기와 글쓰기는 읽기를 차단하지 않습니다.