Популярные ответы
Транзакция — это набор последовательных операций, представляющий собой неразрывную логическую единицу работы с данными. Транзакция может быть выполнена либо целиком и успешно, либо никак. Другими словами, состояние данных должно быть либо результатом выполнения всех без исключения операций, входящих в транзакцию (успешное завершение), либо данные должны оставаться такими же, как и до начала транзакции (наличие ошибки в процессе выполнения транзакции).
Как правило, говоря о транзакции, имеют в виду операции над базой данных, однако понятие транзакции применимы и для работы с другими источниками информации, например, системой поддержки сообщений.
Основные требования к системе, поддерживающей транзакцию,описываются аббревиатурой ACID (которая расшифровывается как Atomicity, Consistency, Isolation, Durability).
- Atomicity — атомарность. Любые изменения в результате транзакции либо фиксируются (commit), либо откатываются (rollback).
- Consistency — согласованность. Если до начала транзакции данные не противоречили друг другу, то и после окончания транзакции они не должны быть противоречивыми. Например, если в процессе транзакции выполнялся перевод средств с одного счета на другой, то сумма денег на обоих счетах после выполнения транзакции должна оставаться такой же, как и до начала транзакции. (Следует заметить, что внутри транзакции согласованность не требуется. Возвращаясь к примеру перевода денег со счета на счет, списание средств с одного счета и помещение их на другой счет выполняются последовательно и между этими двумя операциями данные оказываются несогласованными.)
- Isolation — изолированность. Работающие одновременно транзакции не влияют друг на друга. Другими словами, результат параллельного выполнения двух транзакций должен быть идентичен результату их последовательного выполнения.
- Durability — надежность. Если транзакция была успешно завершена, никакое внешнее событие (например, аппаратный сбой) не должно привести к потере изменений.
Источники:
Транзакция (информатика) — Википедия
Транзакция — что это такое? Определение, значение, перевод