Лекции.Орг


Поиск:




Категории:

Астрономия
Биология
География
Другие языки
Интернет
Информатика
История
Культура
Литература
Логика
Математика
Медицина
Механика
Охрана труда
Педагогика
Политика
Право
Психология
Религия
Риторика
Социология
Спорт
Строительство
Технология
Транспорт
Физика
Философия
Финансы
Химия
Экология
Экономика
Электроника

 

 

 

 


Поняття транзакції. Види транзакцій. Правила управління транзакціями




Транзакція - це сукупність операцій з маніпулювання БД, які повинні розглядатися як атомарна (неподільна) дія. Після здійснення транзакції, зазвичай, надається можливість з'ясувати - чи успішно було її виконання. Транзакцію можна скасувати навіть у разі її успішного виконання застосувавши команду rollback (команда повинна бути виконана до команди commit). У разі відкату БД набуває той же вигляд, який вона мала до виконання транзакції. Можна також вказати точки збереження savepoint.

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

Типи транзакцій:

1. Плоскі (класичні)

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

  • атомарність - виражається|виказує,висловлює| в тому, що транзакція повинна бути виконана в цілому|загалом| або не виконана рішуче;
  • узгодженість|погодженість| - транзакція не руйнує взаємної узгодженості|погодженості| даних;
  • ізольованість - означає, що конкурують за доступ до БД транзакції фізично обробляються підряд;
  • довговічність (міцність) - якщо транзакція завершена успішно, то ті зміни, в даних, які були нею проведені|виробляти,справляти|, не можуть бути втрачені|згубити,змарнувати,загубити| ні за яких обставин.

2. Контрольні крапки|точки,точка-тире|.

Контрольні крапки|точки,точка-тире| встановлюються в прикладній програмі для того, щоб|аби| відзначити моменти, починаючи|розпочинати,зачинати| з|із| яких можна продовжити обчислення|підрахунку| у разі|в разі| виникнення проблем. У ідеалі контрольні крапки|точки,точка-тире| повинні відповідати частково узгодженим|погодженим| станам|достаткам| (наприклад, після|потім| побудови|шикування| допоміжної таблиці в програмі, яка потім використовуватиметься для обчислень|підрахунків| за участю ще якої-небудь таблиці).

3. Багатоланкові.

Модель багатоланкових транзакцій концептуально подібна до моделі контрольних крапок|точок,точка-тире|, але|та| вона припускає|передбачає| фіксацію частини|частки| роботи, зробленої до деякого моменту; можливість|спроможність| відкату|відкату| зафіксованих дій виключається.

4. Вкладені.

Модель вкладених транзакцій включає поняття головної транзакції, яка управляє виконанням всієї ієрархії. В рамках|у рамках| ієрархії можуть бути присутніми транзакції різних рівнів вкладеності. Кінцевими вузлами ієрархії є плоскі транзакції.

Дисципліна транзакцій включає різні функції для підтримки комп'ютерних застосувань, заснованих на комунікаціях. У найзагальнішому сенсі|змісті,рації| системи обробки транзакцій можуть охоплювати все, що може бути присутнім в комп'ютерній системі: бази даних, мережі|сіті|, операційні системи і так далі.

Основні принципи всіх систем обробки транзакцій завжди однакові:

- Відкат |відкат|(rollback|) - можливий| тільки|лише| для транзакцій, що не закінчилися. Відкат|відкат| завершує вашу транзакцію і відміняє|скасовує| всі незафіксовані зміни, проведені в ній. Це робиться|чинить| за допомогою читання інформації, що зберігається в сегментах відкату|відкату|/відміни і відновлення блоків бази даних в стан|достаток|, в якому вони перебували до початку транзакції.

- Прогін(rollforward|). Якщо база даних відмовляє, то вона повинна бути створена з|із| останньої резервної бази, але|та| оскільки резервна база не зберігає останні зміни, то після|потім| відновлення початкової|вихідної| бази застосовується прогін для відновлення актуального стану|достатку|.

- Взаємне блокування(deadlock|). Дві транзакції можуть в ході їх обробки намагатися|пробувати| дістати доступ до однієї і тієї ж частини|частки| бази даних в один і той же час, таким чином, що це перешкоджатиме їх здійсненню. Взаємне блокування не дозволить виконається жодній з транзакцій.

 





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


Дата добавления: 2016-07-29; Мы поможем в написании ваших работ!; просмотров: 1185 | Нарушение авторских прав


Поиск на сайте:

Лучшие изречения:

Ваше время ограничено, не тратьте его, живя чужой жизнью © Стив Джобс
==> читать все изречения...

2189 - | 2131 -


© 2015-2024 lektsii.org - Контакты - Последнее добавление

Ген: 0.009 с.