Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Протокол преднамеренных блокировок




Понятие о преднамеренных блокировках. IS-, IX- и SIX-блокировки. Протокол доступа к данным с использованием преднамеренных блокировок

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

Использование 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  

 

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


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

Транзакция А Время Транзакция В
Блокировка.Р1-успешна t1 х
  t2 Блокировка.Р2-успешна
Попытка заблокировать Р2 отвергается t3 -
ожидание t4 Попытка заблокировать Р1 отвергается
  t5 ожидание

 

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

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

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

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

 

С помощью преднамеренных блокировок можно блокировать:

1)базу данных целиком, 2)отдельные файлы БД, 3)таблицы БД, 4)строки БД, 5)отдельные строки таблиц

6)отдельные поля таблиц

1)Преднамеренные блокировки с возможностью взаимного доступа IS-lock (Internt Sharud Lock)

2)Преднамеренные блокировки без взаимного доступа IX-lock (Internt Exkusive Lock)

3)Преднамеренные блокировки как с возможностью взаимного доступа, так и без неё SIX-lock

1)Если сложный объект заблокирован Х-lock, то она неявным образом задается для всех дочерних объектов

2)При задание S,SIX для сложного объекта неявным образом задают S-lock для все дочерних объектов

3)Прежде чем транзакция наложит S или IS-lock на заданный объект, она должна задать IS или более сильную блокировку по крайней мере для одного родительского объекта

4)Прежде чем транзакция наложит X,IX,SIX на заданный объект, она должна задать как минимум IX-lock или более сильную блокировку для всех родительских объектов.

5)Прежде чем для для данной транзакции будет отменена блокировка данного объекта должны быть отменены все блокировки дочерних объектов данного объекта.


30. Решение проблемы фиктивных элементов (фантомов) с использованием протокола преднамеренных блокировок для доступа к данным.

Транзакция А Время Транзакция В
S-lock таблицы успешна t1 х
S-lock по условию альфа,n строк t2 х
- t3 IX-lock таблицы отвергнута
- t4 ожидание
S-lock таблицы успешна, n строк t5 ожидание
фиксация t6 ожидание
х t7 IX-lock таблицы успешна. Вставка новой строки
х t8 фиксация

 

 





Поделиться с друзьями:


Дата добавления: 2015-04-29; Просмотров: 648; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.014 сек.