Обробка транзакцій
Обробкою транзакції, в інформаційних технологіях. називається обробка інформації, розділена на окремі неподільні операції, звані транзакціями. Кожна транзакція повинна бути успішною або невдалої як єдине ціле; вона не може залишатися в проміжному стані.
Обробка транзакцій спрямована на підтримку комп'ютерної системи в відомому, узгодженому стані, шляхом забезпечення того, щоб будь-які операції, що здійснюються в системі, є взаємозалежними і або все успішно завершені, або повністю і успішно скасовані.
Обробка транзакцій дозволяє декільком окремими операціями автоматично бути пов'язаними один з одним, як єдина неподільна транзакція. Системи обробки транзакцій гарантує, що або всі операції в транзакції завершені без помилок, або жодна з них. Якщо деякі з операцій завершені, але з помилками, а інші без, системи обробки транзакцій дає команду на «відкат» всіх операцій транзакції (в тому числі вдалих), що означає стирання всіх слідів операції і відновлення системи до узгодженого відомого стану, який був до початку процесу транзакції. Якщо всі операції транзакції завершені успішно, то транзакція фіксується в системі, і всі зміни в базі даних стають «постійними» транзакції не можуть бути скасовані, якщо вони вже були зроблені.
Обробка транзакцій захищає від апаратних і програмних помилок, які можуть залишити транзакцію, завершеною частково, з системою, залишеної в невідомому, суперечливому стані. Якщо в комп'ютерній системі відбувається збій в середині транзакція, обробка транзакцій гарантує, що всі операції в будь-яких незафіксованих (тобто, не повністю оброблених) транзакціях будуть скасовані.
Системи обробки транзакцій забезпечують цілісність бази даних за допомогою запису проміжного стану бази даних перед її зміною, а потім, використовуючи ці записи, відновлюють базу даних до відомого стану, якщо транзакція не може бути здійснена. Наприклад, копії інформації в базі даних до її зміни транзакцією, робляться системою перед транзакцією, яка може зробити будь-які зміни (іноді це називають before image). Якщо будь-яка частина транзакції не вдається до її здійснення, ці копії використовуються для відновлення бази даних в стан, в якому вона перебувала до початку транзакції (Rollback).
Крім того, можна вести окремий журнал всіх змін бази даних (іноді це називається after images); це не вимагає відкату невдалих операцій, але це корисно для оновлення бази даних в разі відмови бази даних, тому деякі системи обробки транзакцій забезпечують цю функцію. Якщо база даних відмовляє зовсім, вона повинна бути відновлена з останньої резервної. Резервні ні відбиватися операції, здійснені після її створення. Однак, як тільки буде відновлена база даних, журнал after images може бути застосований до бази даних (rollforward), щоб привести її в актуальний стан. Будь-які транзакції, які знаходяться в процесі на момент збою, можуть бути згорнуті. Результат являє собою базу даних в відоме узгоджене стан, яке включає результати всіх транзакцій, здійснених до моменту відмови.