№8. Изолированность транзакций. Сериализация. Flashcards
(15 cards)
Изолированность транзакций
свойство, которое гарантирует, что параллельно выполняющиеся транзакции не влияют друг на друга, обеспечивая консистентность данных
Уровни изолированности транзакций
- Read Uncommitted (Чтение не подтвержденных данных)
- Read Committed (Чтение подтвержденных данных)
- Repeatable Read(Повторяющееся чтение)
- Serializable (Сериализуемый доступ)
Read Uncommitted (Чтение неподтвержденных данных)
уровень изоляции, при котором транзакция может читать изменения, выполненные другой незавершенной транзакцией
Read Committed (Чтение подтвержденных данных)
уровень изоляции, при котором транзакция может читать только те изменения, которые были подтверждены другими транзакциями
Repeatable Read (Повторяющееся чтение)
уровень изоляции, при котором транзакция гарантирует, что данные, прочитанные ею, не изменятся до завершения транзакции
Serializable (Сериализуемый доступ)
самый высокий уровень изоляции, при котором транзакции выполняются так, как если бы они были последовательными, исключая параллельное выполнение
Потерянные изменения
- Грязное чтение
- Неповторяющееся чтение
- Чтение фантомов
Грязное чтение
ситуация, когда транзакция читает данные, которые были изменены другой транзакцией, но не были подтверждены
Неповторяющееся чтение
ситуация, при которой данные, прочитанные в одной транзакции, изменяются другой транзакцией до её завершения
Чтение фантомов
ситуация, при которой транзакция, повторно выполняющая запрос, видит новые записи, добавленные другой транзакцией
Сериализация
метод обеспечения изолированности транзакций, при котором транзакции выполняются в такой последовательности, как если бы они выполнялись последовательно.
Методы сериализации транзакций
- Блокировки (Locks)
- Версионность (MVCC - Multi-Version Concurrency Control)
Разновидности методов сериадизации
- Пессимистическая
- Оптимистическая
Пессимистическая блокировка
метод управления параллелизмом, при котором транзакции блокируют доступ к данным для других транзакций до своего завершения
Оптимистическая блокировка
метод управления параллелизмом, при котором транзакции допускают изменение данных другими транзакциями, но проверяют целостность данных перед их фиксацией