Основные уровни изоляции транзакций в современных СУБД:
- Read uncommitted (чтение незафиксированных данных). ru.wikipedia.org Это самый слабый уровень изоляции, когда транзакция может видеть результаты других транзакций, даже если они ещё не закоммичены. habr.com
- Read committed (чтение фиксированных данных). ru.wikipedia.org На этом уровне обеспечивается защита от чернового, «грязного» чтения, но в процессе работы одной транзакции другая может быть успешно завершена и сделанные ею изменения зафиксированы. ru.wikipedia.org
- Repeatable read (повторяющееся чтение). ru.wikipedia.org Транзакция удерживает блокировки чтения для всех строк, на которые она ссылается, и записывает блокировки для строк, на которые ссылаются ссылки, для действий обновления и удаления. www.geeksforgeeks.org
- Serializable (упорядочиваемость). ru.wikipedia.org Самый жёсткий уровень изоляции, который блокирует любые действия, пока запущена транзакция. habr.com Транзакции идут строго одна за другой и максимально изолируются друг от друга. habr.com
Выбор уровня изоляции зависит от требований приложения и является компромиссом между целостностью данных и параллелизмом, а следовательно, и эффективностью системы. www.geeksforgeeks.org