1. Обзор
Есть много ситуаций, когда мы хотим получить данные из базы данных. Иногда мы хотим заблокировать его для себя для дальнейшей обработки, чтобы никто другой не мог прервать наши действия.
Мы можем думать о двух механизмах управления параллелизмом, которые позволяют нам это сделать: установка надлежащего уровня изоляции транзакций или установка блокировки данных, которые нам нужны в данный момент.
Изоляция транзакций определяется для соединений с базой данных. Мы можем настроить его для сохранения различной степени блокировки данных.
Однако уровень изоляции устанавливается после создания соединения и влияет на каждый оператор в этом соединении. К счастью, мы можем использовать пессимистическую блокировку, которая использует механизмы базы данных для резервирования более детального монопольного доступа к данным.
Мы можем использовать пессимистическую блокировку, чтобы гарантировать, что никакие другие транзакции не смогут изменить или удалить зарезервированные данные.