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

27. Использование X- и s-блокировок блокировок при решении проблем параллельной работы транзакций. Решение проблем несовместимого анализа.

Транзакция А

Время

Транзакция В

S-блок Р,чтение Р=Ро

t1

х

-

t2

S-успешно,Х-блок,Р-отвергается

Повторение читывания Р=Ро

t3

ожидание

Функция транзакции А

t4

ожидание

Х

t5

Х-блок,Р-успешна

х

t6

Запись Р1=Р

х

t7

Фиксация В

1)

Транзакция А

Время

Транзакция В

S-блок строк,удовлетворяющих условия альфа

t1

х

Выборка строк по условию альфа.Отобрано n строк

t2

х

-

t3

Вставка строки,удовлетворяющей условия альфа

-

t4

фиксация

S-блок по альфа,выборка по условию альфа.Отобрано(n+1) строка

t5

фиксация

t6


2)

3)

Транзакция А

Время

Транзакция В

S-блок Р1-успешна

t1

х

Чтение Р1=100,SUM=100

t2

х

-

t3

S-блок Р-успешна

-

t4

Чтение Р3=100

-

t5

Х-блок,Р3-успешна Р3=50

-

t6

S-блок Р1-успешна, Чтение Р1=100

-

t7

S-блок Р1-отвергнута

S-блок Р2-успешна. Чтение Р2=100,SUM=200

t8

ожидание

S-блок Р3-отвергнута.Ожидание

t9


Сотояние тупика.Вывод: в двух случаях проблема решалась,в двух других-тупик, одна проблема не устранилась

28. Понятие о тупиковых ситуациях, общий вид возникновения тупика, два принципиальных подхода к обнаружению тупиковой ситуации.

Общая картина возникновения тупика

Транзакция А

Время

Транзакция В

Блокировка.Р1-успешна

t1

х

t2

Блокировка.Р2-успешна

Попытка заблокировать Р2 отвергается

t3

-

ожидание

t4

Попытка заблокировать Р1 отвергается

t5

ожидание

Подходы к решению тупиковых ситуаций

1)СУБД не следит за возникновением тупиков, транзакции сами решают быть ли им “жертвами”

2)За возникновением тупиковой ситуации следит сама СУБД и она принемает решение какой транзакцией жертвовать.

Строится граф ожидания транзакций. В вершине находятся сами транзакции, замкнутый контур- тупик .