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 года. (англ.)