Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву
Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Застосування блокування і проблеми, пов'язані з нимСодержание книги
Поиск на нашем сайте Транзакції вимагають застосування спеціальних модулів (планувальників) і протоколу обробки транзакциій. Щоб уникнути проблем з розподіленою обробкою використовуються блокування. Існує два типи блокувань: Блокування X-типу – повністю блокує доступ до транзакції Блокування S-типу - це блокування вирішує режим "тільки читання", але транзакцію не можна модифікувати. У реляційній базі даних найчастіше використовується протокол двофазного блокування 2PL. Правила приведені нижче: 1. Якщо операції pi(x) можуть виконуватися, блокування застосовується на транзакцію Ti і операція виконується. Якщо операція не може виконуватися, вона поміщається в чергу. 2. Видалення блокування виконується після завершення транзакції. 3. Якщо блокування було видалене з транзакції, транзакцію вже не можна заблокувати. Згідно правилам є дві фази виконання транзакцій. У першій фазі ставляться блокування, а в другій вони віддаляються. Перша фаза довша другої.
Мал. 10.5.4. Протокол 2PL. Застосування блокування може призвести до взаємного блокування і зависання. Використання блокування вимушує транзакцію дочекатися звільнення ресурсу. Давайте розглянемо три транзакції: Транзакція А блокує ресурс X і вимагає доступу до ресурсу Y. Транзакція B блокує доступ до ресурсу Y і запрошує доступ до ресурсу X. Виходить взаємоблокування, і жодна з транзакцій не може завершитися. Приклади блокувань показані на малюнку:
Мал. 10.5.5. Взаємоблокування транзакцій.
Мал. 10.5.6. Взаємоблокування транзакцій.
Взаємоблокування є серйозною проблемою і може вплинути на результат роботи. Методи боротьби з взаємоблокуваннями: Метод 1. Виявлення взаємних блокувань і переривання циклу. Після виявлення взаємних блокувань слідує створення графа очікування і його транзитивне завершення (складність більша, ніж n*n). Переривання циклу відбувається шляхом видалення однієї з конфліктуючих транзакцій і її повторним запуском. Вибір грунтується на різних критеріях: остання, з найменшим робочим навантаженням, з низьким пріоритетом. Метод 2. Уникнення взаємних блокувань. Є багато таких методів, наприклад: Попередній запит ресурсу: перед початком кожна транзакція визначає свої потреби. Зміни не вносяться. Недолік - падіння ефективності паралельного обчислення. Чекай-помри (wait-die): якщо транзакція намагається дістати доступ до заблокованого ресурсу, вона відміняється. Це не застосовується до діалогових систем, оскільки користувач може бути збентежений потребою багатократного введення даних. Це зменшує продуктивність.
|
||
|
Последнее изменение этой страницы: 2017-02-07; просмотров: 218; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 216.73.217.128 (0.006 с.) |