MVCC

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

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

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

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