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