ACID-транзакции
ACID — это набор свойств транзакций в базах данных, гарантирующих надёжность и целостность данных при выполнении операций.
Составляющие ACID
Atomicity (Атомарность)
Транзакция выполняется полностью или не выполняется вовсе.
Если часть операций не удаётся, все изменения откатываются.
Пример: при переводе денег с одного счёта на другой, списание и зачисление должны быть атомарными.
Consistency (Согласованность)
Транзакция переводит базу из одного корректного состояния в другое.
Нарушение правил (например, уникальности ключей) не допускается.
Isolation (Изолированность)
Одновременные транзакции не мешают друг другу.
Результат транзакций одинаков, как если бы они выполнялись последовательно.
Примеры уровней изоляции:
READ COMMITTED,REPEATABLE READ,SERIALIZABLE.
Durability (Надёжность/Устойчивость)
После фиксации транзакции (
COMMIT) изменения сохраняются даже при сбое системы.Используются логи и механизмы восстановления базы.
Пример в SQL
BEGIN TRANSACTION;
UPDATE accounts SET balance = balance - 100 WHERE id = 1;
UPDATE accounts SET balance = balance + 100 WHERE id = 2;
COMMIT;  -- изменения фиксируются атомарноЕсли произойдёт ошибка между двумя
UPDATE, транзакция откатится (ROLLBACK).
Итог: ACID обеспечивает, что транзакции в базе данных выполняются надёжно, последовательно и безопасно, даже при сбоях или конкуренции операций.
Last updated
Was this helpful?