ВУЗ:
Составители:
Рубрика:
59
блокировки.
• IS - транзакция T накладывает S-блокировки на отдельные кортежи отношения R
для того, чтобы гарантировать стабильность этих кортежей при их обработке.
• IX - в дополнение к действиям, описанным в приведенной выше формулировке,
транзакция T может осуществить обновление отдельных кортежей отношения R, а потому
на эти кортежи накладываются Х-блокировки.
• S - транзакцией T допускаются параллельные считывания для отношения R, но не
обновления. Сама по себе транзакция T не может обновлять любые кортежи отношения
R.
• SIХ - в определении этой блокировки комбинируются определения S- и IХ-
блокировки, т.е. транзакцией T допускаются параллельные считывания для отношения R,
но не обновления. В дополнение к этому транзакция Т может осуществить обновление
отдельных кортежей отношения R, а потому на эти кортежи накладываются Х-
блокировки.
• X - Транзакцией T вовсе не допускаются параллельные запросы к отношению R.
Сама по себе транзакция T либо может, либо не может обновлять любые кортежи
отношения R.
Формальные определения этих типов блокировок можно дать с помощью пока-
занной на рис. 5.11 матрицы совместимости, которая является расширенной версией
матрицы, представленной выше.
X SIX IX S IS -
X N N N N N Y
SIX N N N N Y Y
IX N N Y N Y Y
S N N N Y Y Y
IS N Y Y Y Y Y
Рис. 5.11. Матрица совместимости, расширенная
преднамеренными блокировками
Теперь можно представить более точную формулировку протокола преднамеренной
блокировки.
1. Прежде чем транзакция наложит S-блокировку на данный кортеж, она должна на-
ложить IS-блокировку или другую более сильную блокировку на отношение, в ко-
тором содержится данный кортеж.
2. Прежде чем транзакция наложит Х-блокировку на данный кортеж, она должна на-
ложить IХ-блокировку или другую более сильную блокировку на отношение, в
котором содержится данный кортеж.
Упомянутое понятие относительной силы блокировок можно объяснить с помощью
диаграммы приоритета, представленной на рис. 5.12. Блокировка типа L
2
называется
более сильной (т.е. находится выше на диаграмме приоритета) по отношению к блоки-
ровке L
1
тогда и только тогда, когда для любой конфликтной ситуации (N) в столбце
блокировки L
1
в некоторой строке матрицы совместимости существует также конфликт в
столбце блокировки L
2
в той же строке (см. рис. 5.11). Обратите внимание, что запрос на
задание блокировки, который отвергается для некоторого типа блокировки, также будет
отвергнут и для более сильного типа блокировки (таким образом подразумевается, что
всегда можно использовать типы блокировки, более сильные по сравнению с той, которая
строго необходима в некотором заданном случае).
блокировки.
• IS - транзакция T накладывает S-блокировки на отдельные кортежи отношения R
для того, чтобы гарантировать стабильность этих кортежей при их обработке.
• IX - в дополнение к действиям, описанным в приведенной выше формулировке,
транзакция T может осуществить обновление отдельных кортежей отношения R, а потому
на эти кортежи накладываются Х-блокировки.
• S - транзакцией T допускаются параллельные считывания для отношения R, но не
обновления. Сама по себе транзакция T не может обновлять любые кортежи отношения
R.
• SIХ - в определении этой блокировки комбинируются определения S- и IХ-
блокировки, т.е. транзакцией T допускаются параллельные считывания для отношения R,
но не обновления. В дополнение к этому транзакция Т может осуществить обновление
отдельных кортежей отношения R, а потому на эти кортежи накладываются Х-
блокировки.
• X - Транзакцией T вовсе не допускаются параллельные запросы к отношению R.
Сама по себе транзакция T либо может, либо не может обновлять любые кортежи
отношения R.
Формальные определения этих типов блокировок можно дать с помощью пока-
занной на рис. 5.11 матрицы совместимости, которая является расширенной версией
матрицы, представленной выше.
X SIX IX S IS -
X N N N N N Y
SIX N N N N Y Y
IX N N Y N Y Y
S N N N Y Y Y
IS N Y Y Y Y Y
Рис. 5.11. Матрица совместимости, расширенная
преднамеренными блокировками
Теперь можно представить более точную формулировку протокола преднамеренной
блокировки.
1. Прежде чем транзакция наложит S-блокировку на данный кортеж, она должна на-
ложить IS-блокировку или другую более сильную блокировку на отношение, в ко-
тором содержится данный кортеж.
2. Прежде чем транзакция наложит Х-блокировку на данный кортеж, она должна на-
ложить IХ-блокировку или другую более сильную блокировку на отношение, в
котором содержится данный кортеж.
Упомянутое понятие относительной силы блокировок можно объяснить с помощью
диаграммы приоритета, представленной на рис. 5.12. Блокировка типа L2 называется
более сильной (т.е. находится выше на диаграмме приоритета) по отношению к блоки-
ровке L1 тогда и только тогда, когда для любой конфликтной ситуации (N) в столбце
блокировки L1 в некоторой строке матрицы совместимости существует также конфликт в
столбце блокировки L2 в той же строке (см. рис. 5.11). Обратите внимание, что запрос на
задание блокировки, который отвергается для некоторого типа блокировки, также будет
отвергнут и для более сильного типа блокировки (таким образом подразумевается, что
всегда можно использовать типы блокировки, более сильные по сравнению с той, которая
строго необходима в некотором заданном случае).
59
Страницы
- « первая
- ‹ предыдущая
- …
- 57
- 58
- 59
- 60
- 61
- …
- следующая ›
- последняя »
