Продвинутый
Какие существуют уровни изоляции транзакций?
Уровни изоляции решают проблемы параллельного доступа (грязное чтение, неповторяющееся чтение, фантомное чтение):
1. Read Uncommitted — транзакция видит незакоммиченные изменения других (Грязное чтение).
2. Read Committed — видит только закоммиченные данные. (Дефолт в PostgreSQL).
3. Repeatable Read — данные, прочитанные в транзакции, не изменятся другими транзакциями до её конца.
4. Serializable — полная изоляция. Транзакции выполняются так, как если бы они шли строго последовательно.
Чем выше уровень, тем меньше аномалий, но ниже производительность (блокировки).