Встречается на 2% собеседований по Python
Что такое MVCC в PostgreSQL
MVCC (Multi-Version Concurrency Control) — это механизм управления параллельным доступом к данным в PostgreSQL, позволяющий избегать блокировок при чтении.
Как работает:
- Каждая транзакция видит "снимок" (snapshot) данных на момент своего начала.
- При изменении строки создается ее новая версия, а старая сохраняется для других транзакций.
- Неиспользуемые версии очищаются автоматически (VACUUM).
Пример:
sql
-- Транзакция 1 (началась первой)
BEGIN;
SELECT * FROM users WHERE id = 1; -- Видит версию X
-- Транзакция 2 (параллельно)
BEGIN;
UPDATE users SET name = 'Alice' WHERE id = 1;
COMMIT;
-- Транзакция 1 продолжает видеть старую версию X
SELECT * FROM users WHERE id = 1; -- Данные не изменились
COMMIT;Плюсы:
- Чтение не блокирует запись и наоборот.
- Высокая производительность при параллельной работе.
Минусы:
- Возможность "раздувания" БД из-за хранения старых версий (решается VACUUM).

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
Похожие вопросы
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы