Транзакция в базах данных работает путём группировки нескольких операций с базой данных в единую атомарную единицу. 1 Система управления базой данных (СУБД) использует менеджер транзакций для отслеживания отдельных операций и обеспечения их выполнения в правильном порядке. 1
Процесс работы транзакции: 1
- Запуск транзакции. 1 СУБД создаёт новый контекст транзакции и назначает его текущему потоку выполнения. 1 Все операции с базой данных, выполняемые в этом контексте, считаются частью транзакции. 1
- Завершение операций. 1 После завершения операций транзакция может быть либо зафиксирована, либо откатана. 1
- Фиксация транзакции. 1 СУБД применяет все операции транзакции к базе данных, делая их постоянными. 1
- Откат транзакции. 1 СУБД отменяет все операции в транзакции, возвращая базу данных в состояние до начала транзакции. 1
Некоторые свойства транзакций:
- Атомарность. 13 Транзакция выполняется как единое целое: либо всё выполняется, либо всё не выполняется. 35
- Согласованность. 35 Транзакция переводит базу данных из одного согласованного состояния в другое согласованное состояние. 35 Внутри транзакции согласованность базы данных может нарушаться. 5
- Изолированность. 15 Транзакции разных пользователей не должны мешать друг другу. 35
- Долговечность. 35 Результаты работы выполненной транзакции должны сохраниться в базе данных, даже если по завершении транзакции произойдёт сбой системы. 35