Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
41
Добавлен:
27.03.2016
Размер:
165.89 Кб
Скачать

Лекция 26

Параллельное выполнение транзакций. Типы конфликтов. Захваты и блокировки

Параллельное выполнение транзакций

Транзакция 1

Транзакция 2

Непротиворечивая БД

INSERT

 

 

 

 

INSERT

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

UPDATE

UPDATE

 

 

 

 

 

 

COMMIT

ROLLBACK

 

 

Противоречивая БД

Пропавшие обновления

Чтение «грязных» данных

Чтение несогласованных данных

Строки-призраки

Сериализация транзакций

=

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

Виды конфликтов между транзакциями

W-W – конфликт

R-W – конфликт

W-R – конфликт

Транзакция 2

Транзакция 2

Транзакция 2

пытается изменять

пытается изменять

пытается читать

объект, измененный

объект,

объект, измененный

не закончившейся

прочитанный не

не закончившейся

Транзакцией 1

закончившейся

Транзакцией 1

 

Транзакцией 1

 

Режимы захватов

совместный режим - S (Shared), означающий разделяемый захват объекта и необходимый для выполнения операции чтения объекта

монопольный режим - X (eXclusive), означающий монопольный захват объекта и необходимый для выполнения операций записи, удаления и модификации

Захват и освобождение объекта

Двухфазный протокол захватов объектов БД:

первая фаза транзакции - накопление захватов;

вторая фаза транзакции (фиксация или откат) - освобождение захватов.

Соседние файлы в папке 3 курс Лекции БД