Что такое MVCC?

Middle+
688 просмотров
AFK Offer AI

MVCC (Multi-Version Concurrency Control) — механизм, который позволяет нескольким транзакциям работать с базой одновременно без блокировок на чтение. Каждая транзакция видит свой снимок данных на момент начала, а не текущее состояние. В PostgreSQL это реализовано через версии строк — при UPDATE создаётся новая версия строки, старая остаётся для тех транзакций, которые начались раньше. Читатели не блокируют писателей, писатели не блокируют читателей — это и есть главное преимущество MVCC. Цена — мёртвые строки, которые потом чистит VACUUM.

Следующий вопрос

Что такое паттерн Observer?