Студопедия

КАТЕГОРИИ:


Архитектура-(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 (Intented for Shared Lode) – захватить в совместном режиме; смысл: если транзакция хочет читать кортежи из отношения, то предварительно это отношение должно быть захвачено в режиме IS;

IX (Intented for eXclusive Lode): если транзакция собирается удалять кортежи икортеж должен быть захвачен в режиме Х, то и всё отношение должно быть захвачено в режиме IX;

SIX (Shared Intented for eXclusive): составной объект захватывается совместно и в последствие его составляющие будут захвачены в монопольном режиме. Например, выполняется длинная операция просмотра отношения с возможностью удаления некоторых кортежей, то надо захватить это отношение в режиме SIX, а до этого захватить файл в режиме IS.

Таблица совместимости:

  Т1
Т2   X S IX IS SIX
Да Да Да Да Да
X Нет Нет Нет Нет Нет
S Нет Да Нет Да Нет
IX Нет Нет Да Да Нет
IS Нет Да Да Да Да
SIX Нет Нет Нет Да Да

Метод синхронизационных захватов не ликвидирует проблемы взаимных блокировок и главной проблемой для СУБД является поиск заблокированных транзакций, а для этого СУБД должна строить графы, где вершинами будут транзакции и объекты, и выявлять кольцевые пути.

Этот метод не требует построения графов, основан на присвоении каждой транзакции некоторой временной метки.

Идея метода заключается в том, что если Т1 началась раньше Т2, то СУБД обеспечивает такой режим выполнения, как если бы Т1 целиком закончилась до начала выполнения Т2. Т.е. с каждой транзакцией надо связать метку её начала.

Если транзакция Т выполняется над объектом R, то Т свою метку начала помещает на этот объект R, кроме метки она добавляет тип операции. Если Т1 собирается также работать с R, то она проверяет не закончилась ли Т, которая пометила этот объект; если закончилась, то Т1 метит объект своей меткой и продолжает выполняться, если Т ещё не закончилась, то Т1 проверяет конфликтность операций. Если операции неконфликтны, то на объекте остаётся метка с меньшим значением и Т1 выполняет свои неконфликтные операции. Если по операциям конфликт, тогда сравниваются метки транзакций и для более молодой транзакции (значение которой больше) производится откат, а более старая транзакция продолжает работать.

Недостатки: необходимость выполнять откаты, которые происходят очень часто.




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


Дата добавления: 2014-12-25; Просмотров: 410; Нарушение авторских прав?; Мы поможем в написании вашей работы!


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



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




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