Что такое свойства ACID в базах данных
Python
Senior
Без компании
Что такое свойства ACID в базах данных
Ответы
ACID — это набор свойств, гарантирующих надежность транзакций в базах данных:
- **Атомарность (Atomicity)** — транзакция выполняется полностью или не выполняется вообще. Нет частичных изменений.
```
# Пример с SQLAlchemy
try:
session.add(new_user)
session.commit() # Успех — изменения сохраняются
except:
session.rollback() # Ошибка — откат всех изменений
```
- **Согласованность (Consistency)** — транзакция переводит БД из одного валидного состояния в другое, сохраняя целостность данных.
- **Изолированность (Isolation)** — параллельные транзакции не влияют друг на друга (уровни изоляции: Read Uncommitted, Read Committed, Repeatable Read, Serializable).
- **Долговечность (Durability)** — после фиксации (commit) изменения сохраняются даже при сбое системы.
Пример нарушения ACID: если транзакция прерывается на полпути без отката (атомарность) или два процесса одновременно изменяют одни данные без блокировок (изоляция).