Multiversion concurrency control
참조 : http://en.wikipedia.org/wiki/Multiversion_concurrency_control
multiversion concurrency control (abbreviated MCC or MVCC) is a concurrency control method commonly used by database management systems to provide concurrent access to the database.
MVCC는 각각의 사용자에게 각자 작업할 수 있는 스냅샷을 제공합니다. 트랜잭션이 커밋되기 전에는 각자 작업한 내용을 다른 사람들이 볼 수 없습니다.
MCC는 타임스탬프 또는 증가하는 트랜잭션 ID를 사용하여 serializability를 만족시킵니다.
많은 버젼을 관리해야 한다는 단점이 있지만 읽기 작업을 방해(block)하지 않는다는 장점이 있습니다.
MCC를 사용하는 데이타베이스들
- Berkeley DB [4]
- Firebird (database server) [5]
- FLAIM
- InterBase (all versions) [6]
- Microsoft SQL Server (only in SQL Server 2005)
- MySQL when used with InnoDB [7] or Falcon [8] storage engines.
- ObjectStore (only in read-only mode)[9]
- Oracle
- PostgreSQL [10] and PostgreSQL derivatives such as Netezza
- ThinkSQL
공부해야 할 것 : snapshot isolation, serializability