Что такое MVCC в PostgreSQL?

MVCC хранит несколько версий строк и выбирает видимые для снимка транзакции. Благодаря этому обычное чтение не должно блокировать каждое конкурентное изменение той же строки.

Короткий ответ

Что ответить на собеседовании

MVCC хранит несколько версий строк и выбирает видимые для снимка транзакции. Благодаря этому обычное чтение не должно блокировать каждое конкурентное изменение той же строки.

Подробный разбор

Ответ с пояснениями

MVCC хранит несколько версий строк и выбирает видимые для снимка транзакции. Благодаря этому обычное чтение не должно блокировать каждое конкурентное изменение той же строки.

Обновление создаёт новую версию, а старая может оставаться видимой другим транзакциям. Видимость зависит от статуса транзакций и уровня изоляции. VACUUM удаляет версии, которые больше никому не нужны; долгие транзакции могут этому мешать. MVCC не отменяет блокировки writers и не гарантирует отсутствие всех аномалий согласованности.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее