Распределенная обработка данных. Найханова Л.В. - 59 стр.

UptoLike

Составители: 

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