Теория баз данных


         

Перечень действий, которые совершают транзакции



Перечень действий, которые совершают транзакции над объектами, приведен в табл. 11.1.

Рис. 11.10. Пример графа ожиданий транзакций Таблица 11.1. Перечень действий множества транзакций













































































































































































































































































Время



Транзакция



Действие



0



Т1



Select A



1



Т2



Select В



2



Т1



Select С



3



Т4



Select D



4



Т5



Select A



5



Т2



Select E



6



Т2



Update E



7



ТЗ



Select F



8



Т2



Select F



9



Т5



Update A



10



Т1



Commit



11



Т6



Select A



12



Т5



Commit



13



Т6



Select С



14



Т6



Update С



15



Т7



Select G



16



Т8



Select H



17



Т9



Select G



18



Т9



Update G























































































































































































































































Время



Транзакция



Действие



19



Т8



Select E



20



Т7



Commit



21



Т9



Select H



22



ТЗ



Select G



23



Т10



Select A



24



Т9



Update H



25



Т6



Commit



26



Т11



Select С



27



Т12



Select D



28



Т12



Select С



29



Т2



Update F



30



Т11



Update С



31



Т12



Select A



32



Т10



Update A



33



Т12



Update D



34



Т2



Select G



35



_



-



На графе объекты блокировки помечены типами блокировок, S — нежесткая (разделяемая) блокировка, X — жесткая (эксклюзивная) блокировка.

На диаграмме состояний ожидания видно, что транзакции Т9, Т8, Т2 и Т3 образуют цикл. Именно наличие цикла и является признаком возникновения тупиковой ситуации. Поэтому в момент 3 перечисленные транзакции будут заблокированы.

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

Критерием выбора является стоимость транзакции; жертвой выбирается самая дешевая транзакция. Стоимость транзакции определяется на основе многофакторной оценки, в которую с разными весами входят время выполнения, число накопленных захватов, приоритет.

Содержание  Назад  Вперед