Встречается на собеседованиях • сегодня

Что такое изоляция в ACID

Изоляция в ACID означает, что параллельно выполняемые транзакции не влияют друг на друга. Каждая транзакция работает так, как если бы она была единственной в системе. Это предотвращает проблемы, такие как:

  • Грязное чтение (чтение незафиксированных данных другой транзакции).
  • Неповторяемое чтение (изменение данных другой транзакцией между повторными чтениями).
  • Фантомное чтение (появление новых строк в результате другой транзакции).

Уровни изоляции в SQL (и ORM, например, SQLAlchemy):

  1. READ UNCOMMITTED – минимальная изоляция.
  2. READ COMMITTED – защита от грязного чтения.
  3. REPEATABLE READ – защита от неповторяемого чтения.
  4. SERIALIZABLE – полная изоляция, но снижает производительность.

Пример в SQLAlchemy:

python
from sqlalchemy import create_engine
from sqlalchemy.orm import sessionmaker

engine = create_engine("postgresql://user:pass@localhost/db")
Session = sessionmaker(bind=engine, isolation_level="REPEATABLE READ")
session = Session()
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы