Презентация: «Уровень изоляции READ COMMITED SNAPSHOT

Download Report

Transcript Презентация: «Уровень изоляции READ COMMITED SNAPSHOT

www.timurshamiladze.ru
Определение
Уровень изоляции транзакции - набор правил,
которые определяют насколько сильно необходимо
защищать данные в транзакции
www.timurshamiladze.ru
2
Уровни изоляции поддерживаемые
1С:Предприятием 8
Уровни изоляции в 1С:Предприятии:
•READ UNCOMMITED
•READ COMMITTED
•REPEATABLE READ
•SERIALIZABLE
www.timurshamiladze.ru
3
Проблемы при совместной работе
пользователей
Проблемы при совместной работе:
•Грязное чтение
•Неповторяемое чтение
•Чтение фантомов
www.timurshamiladze.ru
4
Уровни изоляции поддерживаемые
1С:Предприятием 8
Уровни изоляции в 1С:Предприятии:
•READ UNCOMMITED
•Существуют все проблемы
•READ COMMITTED
•Решается проблема грязного чтения
•REPEATABLE READ
•Решается проблема неповторяемого чтения
•SERIALIZABLE
•Решается проблема чтения фантомов
www.timurshamiladze.ru
5
Read Commited Snapshot
В версии 1С:Предприятие 8.3 появилась поддержка 5-го уровня
изоляции: Read Commited Snapshot
Для базы данных начинает использоваться уровень изоляции
Read_Commited_Snapshot, если параметр базы данных:
READ_COMMITTED_SNAPSHOT имеет значение ON.
Проверить будет ли использоваться этот уровень изоляции можно:
select name,is_read_committed_snapshot_on from sys.databases
www.timurshamiladze.ru
6
Read Commited Snapshot
Уровень изоляции транзакции Read Commited защищает данные от
грязного чтения, благодаря наложению S-блокировки на время чтения.
•Тем самым препятствуя грязному чтению, т.к. S и Х блокировки
между собой не совместимы.
Уровень изоляции транзакации Read_Commited_Snapshot, защищает
данные от грязного чтения с помощью механизма версионности.
•При чтении данные берутся из акутальной версии данных на
момент чтения.
•Для каждого зафиксированного изменения данных имеется своя
копия (версия)
•Читающие транзакции не блокируют пишущие (т.к. не ставят
блокировки)
www.timurshamiladze.ru
7
Read Commited Snapshot
Остается проблема неповторяемого чтения и чтения фантомов.
•Решается с помощью управляемых блокировок.
www.timurshamiladze.ru
8
Read Commited Snapshot
Плюсы Read Commited Snapshot
Избавляемся от грязного чтения
Читаем всегда зафиксированные изменения
Повышается параллельность
Читающие и пишущие транзакции не блокируют друг друга
Минусы Read Commited Snapshot
Увеличивается нагрузка на оборудование
www.timurshamiladze.ru
9
Read Commited Snapshot
Рассмотрим пример, что грязного чтения в
8.3 уже нет, благодаря READ COMMITED
SNAPSHOT
www.timurshamiladze.ru
1
0