Что означает принцип ACID
Python
Middle
Без компании
Что означает принцип ACID
Ответы
ACID — это набор свойств, гарантирующих надежность транзакций в базах данных:
- **Atomicity (Атомарность)** — транзакция выполняется целиком или не выполняется вовсе.
- **Consistency (Согласованность)** — данные остаются в корректном состоянии после транзакции.
- **Isolation (Изолированность)** — параллельные транзакции не влияют друг на друга.
- **Durability (Долговечность)** — после подтверждения транзакции изменения сохраняются даже при сбоях.
Пример с SQL-транзакцией:
```
BEGIN TRANSACTION;
UPDATE accounts SET balance = balance - 100 WHERE user_id = 1;
UPDATE accounts SET balance = balance + 100 WHERE user_id = 2;
COMMIT; -- Если ошибка — ROLLBACK
```
В Python (с `sqlite3`):
```
conn.execute("BEGIN TRANSACTION")
try:
conn.execute("UPDATE accounts SET balance = balance - 100 WHERE user_id = 1")
conn.execute("UPDATE accounts SET balance = balance + 100 WHERE user_id = 2")
conn.commit()
except:
conn.rollback()
```