Протокол управления параллелизмом MOSS (распределенная блокировка в базе данных)

Опубликовано: 11 Августа, 2021

Это протокол, который используется для управления параллелизмом в среде распределенной базы данных. Здесь мы прочитаем о правилах и положениях, которые необходимо учитывать при применении протокола управления параллелизмом MOSS.

Протокол управления параллелизмом MOSS : -

а) Он в основном используется для обработки вложенных (иерархических) транзакций, основанных на наследовании.

б) Предположим, что транзакция (T) получает блокировку элемента данных (X) в некотором режиме (M).

c) Транзакция (T) удерживает блокировку в режиме (M) до ее завершения.

d) Когда какая-либо часть транзакции (T 1 ) из T совершается, ее родительская транзакция занимает или наследует эту блокировку и сохраняет ее до тех пор, пока все части транзакции не могут завершиться.

e) Если транзакция удерживает блокировку элемента данных (X), значит, она имеет право на доступ к заблокированному элементу данных (X) в соответствующем режиме. Однако это не действует в случае, если транзакция сохранила блокировку от любой другой некоторой подтранзакции (потомка).

f) Сохраненная блокировка - это всего лишь своего рода заполнитель и указывает, что частичные транзакции, которые находятся вне соответствующей иерархии, не могут получить блокировку, но потомок может получить блокировку.

g) Как только транзакция становится фиксатором блокировки дочерней подтранзакции S, она остается фиксатором до завершения транзакции.

Общие правила блокировки в отношении этого протокола : -

a) Субтранзакция (T 1 ) может получить блокировку чтения для элемента данных (X), если:

а.1) никакая другая субтранзакция (потомок) не удерживает блокировку записи на X, и

a.2) Все частичные транзакции, которые сохранили блокировку записи на X, являются предками частичной транзакции (S).

б) Субтранзакция (T1) может получить блокировку записи для элемента данных (X), если:

б.1) никакая другая подтранзакция не удерживает блокировку чтения / записи на X , и

б.2) все частичные транзакции, которые сохранили блокировку чтения / записи на X, являются предками T 1 .

c) Когда субтранзакция (T 1 ) завершает свое выполнение, родительский элемент T 1 наследует (сохраняет) блокировку, удерживаемую T 1. в том же режиме, что и Т 1 .

Рис. C

d) Когда верхний уровень частичных транзакций (T 3 ) совершает освобождение всех своих потомков удерживаемых блокировок вместе с сохраненными блокировками.

Рис.d

e) Когда субтранзакция (T 3 ) прерывается, она освобождает все удерживаемые блокировки вместе с удерживаемыми блокировками. Все частичные транзакции, возникшие в результате прерывания транзакции, также прерываются и должны начинаться с самого начала, если они начали свое выполнение.

Рис. E