MVCC (англ. multiversion concurrency control — управление параллельным доступом посредством многоверсионности) — один из механизмов СУБД для обеспечения параллельного доступа к базам данных, заключающийся в предоставлении каждому пользователю так называемого «снимка» базы, обладающего тем свойством, что вносимые пользователем изменения невидимы другим пользователям до момента фиксации транзакции. Этот способ управления позволяет добиться того, что пишущие транзакции не блокируют читающих, и читающие транзакции не блокируют пишущих.

Первой СУБД, реализовавшей этот механизм, считается Rdb, аналогичные механизмы были реализованы в конце 1980-х годов у InterBase и Oracle Database[1]), в 1990-е годы механизм реализован у PostgreSQL, а в 2000-е годы — почти во всех развитых реляционных СУБД. В дальнейшем этим механизмом оснащён также ряд систем, относимых к классам NoSQL и NewSQL (включая MongoDB, CouchDB, CockroachDB[en] и многие другие), и даже некоторые программные системы, не относимые к категории СУБД (например, etcd[en], ehcache[en] и другие).

Ссылки править

  1. Todd, Bill InterBase: What Sets It Apart (2000). Дата обращения: 8 февраля 2009. Архивировано 17 марта 2008 года. (англ.)