Що таке транзакція
Відповіді на питання (2)
Транзакція – це одиниця операції або група операцій, які виконуються як одне ціле. Вона забезпечує цілісність і узгодженість даних у базах даних або інформаційних системах. Основна ідея транзакції полягає в тому, що або всі операції всередині неї успішно виконуються, або жодна з них не виконується. Це забезпечується принципом "все або нічого".
Транзакції мають такі основні властивості (ACID-принципи):
-
Атомарність (Atomicity) – операції всередині транзакції є нероздільними; якщо якась частина транзакції не виконується, то скасовується вся транзакція.
-
Узгодженість (Consistency) – транзакція переводить систему з одного узгодженого стану в інший, забезпечуючи правильність даних.
-
Ізоляція (Isolation) – транзакції не впливають одна на одну до моменту завершення, що виключає конфлікти при паралельному виконанні.
-
Надійність (Durability) – якщо транзакція успішно завершилася, зміни зберігаються навіть при збоях системи.
Наприклад, під час банківського переказу транзакція гарантує, що гроші будуть списані з одного рахунку й зараховані на інший або ж операція буде скасована цілком, щоб уникнути втрати грошей.
Якщо без пафосу, то це операція, яка має або виконаний статус або відхилений.
На прикладі бази даних, дані, які в рамках певної транзакції повністю не збереглись - не можуть бути записані частково (наприклад через раптове вимкнення світла). Якщо в транзакції десять SQL запитів і з них на п'ятому вимкнули світло, то всі попередні п'ять запитів будуть відхилені сервером БД.