ACID
Что это
ACID - требования к транзакционной системе (например, к СУБД), обеспечивающие наиболее надёжную и
предсказуемую её работу.
Требования ACID
- Атомарность(Atomicity) - гарантирует, что никакая транзакция не будет зафиксирована в системе частично.
Используется rollback - если транзакцию не удаётся завершить полностью, результаты всех её до сих пор
произведённых действий будут отменены.
- Согласованность(Consistency) - сохранение согласованности базы. Пример: если с одного счета деньги списались,
они должны быть зачислены на другой счет.
- Изолированность(Isolation) - во время выполнения транзакции
параллельные транзакции не должны оказывать влияния на её результат. Изолированность — требование дорогое,
поэтому в реальных БД существуют режимы, не полностью изолирующие транзакцию.
- Прочность(Durability) - при проблемах на нижних уровнях (к примеру, обесточивание системы или сбои в
оборудовании) изменения, сделанные успешно завершённой транзакцией, должны остаться сохранёнными после
возвращения системы в работу. Другими словами, если пользователь получил подтверждение от системы,
что транзакция выполнена, он может быть уверен, что сделанные им изменения не будут отменены из-за
какого-либо сбоя.