SA Шпаргалка

Все ответы в 2 клика

Продвинутый

Что такое 2PL (Two-Phase Locking) в базах данных?

2PL (Двухфазная блокировка) — это классический алгоритм СУБД для обеспечения уровня изоляции Serializable.

Транзакция делится на две фазы:
1. Фаза расширения (Growing Phase): Транзакция только захватывает блокировки на нужные ей строки/таблицы, но не отпускает ни одну из них.
2. Фаза сужения (Shrinking Phase): Как только транзакция отпустила хотя бы одну блокировку (или сделала COMMIT/ROLLBACK), она больше не имеет права захватывать новые блокировки.

✅ Итог: Гарантирует строгую сериализуемость (отсутствие аномалий), но сильно снижает параллелизм и повышает риск дедлоков.

Ещё вопросы раздела «SQL и БД»

Все вопросы раздела «SQL и БД»