ACID (от англ. atomicity, consistency, isolation, durability) — набор требований к транзакционной системе, который обеспечивает её надёжную и предсказуемую работу. 3
Эти требования включают следующие свойства: 14
- Атомарность. 34 Любая транзакция не может быть частично завершена — она либо выполнена, либо нет. 4 Если транзакцию не удаётся полностью завершить, результаты всех её до сих пор произведённых действий будут отменены. 3
- Согласованность. 34 Завершившаяся транзакция должна сохранять согласованность базы данных. 4 Каждая успешная транзакция фиксирует только допустимые результаты, при том, что в процессе работы транзакции данные могут оказываться несогласованными. 4
- Изолированность. 14 Когда транзакция выполняется, параллельные транзакции не должны оказывать влияния на её результат. 4 Ни одна транзакция не может увидеть изменения, которые сделаны другими незавершёнными транзакциями. 4
- Устойчивость. 34 Изменения, которые сделаны успешно завершённой транзакцией, должны остаться сохранёнными после возвращения системы в работу. 34 И это не должно зависеть от проблем на нижних уровнях, к примеру, обесточивание системы или сбои в оборудовании. 4
Соблюдение свойств ACID гарантирует, что данные в базе данных будут целостными независимо от любых сбоев. 4