Базы данных. Вводный курс


Версионный вариант двухфазного протокола синхронизационных блокировок - часть 2


В таб. 13.3 показаны правила совместимости этих блокировок.

Таблица 9.3. Таблица совместимости «версионных» блокировок


RL(o) WL(o) CL(o)
RL(o) да да нет
WL(o) да нет нет
CL(o) нет нет нет

Как видно, операция чтения может блокироваться только на время фиксации транзакции, заменяющей текущую версию требуемого объекта базы данных. Для выполнения операции записи требуется долговременная монопольная блокировка соответствующего объекта базы данных, которая, однако, в этом случае совместима с блокировкой этого же объекта по чтению (поскольку в действительности блокируются разные версии этого объекта). И, конечно, как и во всех схемах сериализации транзакций на основе блокировок, здесь возможны синхронизационные тупики.




Начало  Назад  Вперед