Атомарность — транзакция выполняется целиком или не выполняется вовсе. Если в переводе денег списание прошло, а зачисление упало, база откатывает и списание. Обеспечивается журналом: при сбое незавершённые транзакции отбрасываются.
Согласованность (consistency) — транзакция переводит базу из одного корректного состояния в другое: не нарушаются ограничения (внешние ключи, уникальность, CHECK) и бизнес-инварианты. База проверяет объявленные ограничения, а остальные инварианты — ответственность приложения.
Изоляция — параллельные транзакции не видят промежуточных состояний друг друга. Полная изоляция (Serializable) — как будто транзакции шли по очереди. Она дорога, поэтому базы по умолчанию используют более слабые уровни (Read Committed в PostgreSQL, Repeatable Read в MySQL) и допускают часть аномалий.
Долговечность — после подтверждения коммита изменения не пропадут даже при отключении питания: запись в журнале сбрасывается на диск (fsync) до ответа клиенту.
Где ACID ослабляют сознательно: synchronous_commit = off (быстрее, риск потерять последние транзакции), асинхронные реплики, многие NoSQL-базы с атомарностью только в пределах одного документа.