Студопедия
Новини освіти і науки:
МАРК РЕГНЕРУС ДОСЛІДЖЕННЯ: Наскільки відрізняються діти, які виросли в одностатевих союзах


РЕЗОЛЮЦІЯ: Громадського обговорення навчальної програми статевого виховання


ЧОМУ ФОНД ОЛЕНИ ПІНЧУК І МОЗ УКРАЇНИ ПРОПАГУЮТЬ "СЕКСУАЛЬНІ УРОКИ"


ЕКЗИСТЕНЦІЙНО-ПСИХОЛОГІЧНІ ОСНОВИ ПОРУШЕННЯ СТАТЕВОЇ ІДЕНТИЧНОСТІ ПІДЛІТКІВ


Батьківський, громадянський рух в Україні закликає МОН зупинити тотальну сексуалізацію дітей і підлітків


Відкрите звернення Міністру освіти й науки України - Гриневич Лілії Михайлівні


Представництво українського жіноцтва в ООН: низький рівень культури спілкування в соціальних мережах


Гендерна антидискримінаційна експертиза може зробити нас моральними рабами


ЛІВИЙ МАРКСИЗМ У НОВИХ ПІДРУЧНИКАХ ДЛЯ ШКОЛЯРІВ


ВІДКРИТА ЗАЯВА на підтримку позиції Ганни Турчинової та права кожної людини на свободу думки, світогляду та вираження поглядів



Постулати ACID

Транзакція гарантує відновлення до стану перед виникненням помилки. Це - основна техніка для забезпечення надійності програмного забезпечення, що працює з базами даних.

Під транзакціями маються на увазі їх наступне властивості:

o Атомарність – у всіх транзакціях виконується або одна операція, або нічого.

o (C) Цілісність – якщо транзакція увійшла до цілісної бази даних, то поле її бази даних повинна теж залишитися цілісною.

o Ізоляція – транзакція не знає про інші транзакції і не втручається в їх дії. Дії, що виконуються однією транзакцією, не повинні бути видимі іншим, поки не будуть отримані результати.

o (D) Стійкість – після того, як транзакція завершиться, результати записуються на жорсткий диск і не можуть бути змінені випадковим чином, наприклад, відключенням електрики.

Транзакції в SQL

У SQL кожна транзакція починається з почати транзакцію (BEGIN TRANSACTION), і закінчується операцією фіксувати(COMMIT), що позначає правильне закінчення, або відкат (ROLLBACK) (або відміна (ABORT)), означає повернення до початкового стану (або відміну) транзакції.

Такі команди, як вибрати, вставити, відновити, видалити, створити запускають транзакцію, якщо вона ще не була запущена.

Транзакція виконується, поки виконуються команди фіксувати (підтверджуюча) або відкат(що перериває або повертає). Транзакція може виконувати такі команди, як видалити, створити, вставити, видалити, створити і т.д.

Приклад транзакції з командами відміна і фіксувати показаний на малюнку:

Мал. 10.5.3. Приклад використання транзакцій.

Застосування блокування і проблеми, пов'язані з ним

Транзакції вимагають застосування спеціальних модулів (планувальників) і протоколу обробки транзакциій.

Щоб уникнути проблем з розподіленою обробкою використовуються блокування.

Існує два типи блокувань:

Блокування 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. Класична кількісна теорія грошей, її основні постулати.
  2. Класична кількісна теорія грошей, її основні постулати.
  3. Постулати Бора.
  4. Постулати Ейнштейна.
  5. Формування потенціалу підприємства: сутнісна характеристика, постулати та загальнотеоретична модель.




Переглядів: 591

<== попередня сторінка | наступна сторінка ==>
Похибка | Метод 2.

Не знайшли потрібну інформацію? Скористайтесь пошуком google:

  

© studopedia.com.ua При використанні або копіюванні матеріалів пряме посилання на сайт обов'язкове.


Генерація сторінки за: 0.003 сек.