Це найпростіший метод обробки взаємоблокувань. При такому підході трансакція, що запитує блокування може очікувати її отримання лише протягом встановленого проміжку часу( тайм- ауту).
Якщо протягом проміжку цього часу блокування не подається, відбувається відміна запиту по тайм-ауту.
Цей метод передбачає впорядкування трансакцій. Впорядковувати трансакції можна двома шляхами:
«Очікування – відміна» - більш старі трансакції очікують завершення більш нових.
«Відміна – очікування» - якщо стара трансакція вимагає виконання блокування елементу даних, що заблокований новою трансацією, нова відміняється.
Ступінь деталізації − це розмір елементів даних, що були в якості захищеної одиниці.
До цього часу протягом розгляду матеріалу виконувався термін «елементи даних», але додатково не уточнювалося, що мається на увазі.
До елементу даних можна віднести:
- всю базу даних;
- окремий файл бази даних;
- окрема сторінка даних (таблиця);
- окремий запис (кортеж);
- окреме поле запису (атрибут кортежу);
Ступінь деталізації великою мірою впливає на загальну виробничу потужність бази. У випадку, якщо ступінь деталізації дорівнює всій базі в цілому, то робота бази даних буде паралізована до завершення роботи трансакції.Такий варіант блокування припустимий лише в тому випадку, коли трансакція виконує 95% оновлення даних в базі.
Збільшення ступеня деталізації збільшує можливість виникнення взаємоблокування.
Ієрархічна схема рівнів блокування
Контрольні питання
1. Дайте визначення блокування.
2. З якою метою виконується блокування?
3. Поясніть механізм встановлення блокувань.
4. Чим відрізняється розподілене блокування від виключного?
5. Опишіть порядок встановлення блокувань.
6. Дайте визначення взаємоблокування.
7. Які шляхи уникнення взаємоблокувань ви можете назвати?
8. Що називають ступенем деталізації?
9. Опишіть та замалюйте схему встановлення блокувань.