Презентация: «Уровень изоляции 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