100 likes | 332 Views
Уровень изоляции транзакции: « READ COMMITED SNAPSHOT ». www.timurshamiladze.ru. Определение. Уровень изоляции транзакции - набор правил, которые определяют насколько сильно необходимо защищать данные в транзакции. Уровни изоляции поддерживаемые 1С:Предприятием 8.
E N D
Уровень изоляции транзакции:«READ COMMITED SNAPSHOT» www.timurshamiladze.ru
Определение Уровень изоляции транзакции - набор правил, которые определяют насколько сильно необходимо защищать данные в транзакции www.timurshamiladze.ru
Уровни изоляции поддерживаемые 1С:Предприятием 8 • Уровни изоляции в 1С:Предприятии: • READ UNCOMMITED • READ COMMITTED • REPEATABLE READ • SERIALIZABLE www.timurshamiladze.ru
Проблемы при совместной работе пользователей • Проблемы при совместной работе: • Грязное чтение • Неповторяемое чтение • Чтение фантомов www.timurshamiladze.ru
Уровни изоляции поддерживаемые 1С:Предприятием 8 • Уровни изоляции в 1С:Предприятии: • READ UNCOMMITED • Существуют все проблемы • READ COMMITTED • Решается проблема грязного чтения • REPEATABLE READ • Решается проблема неповторяемого чтения • SERIALIZABLE • Решается проблема чтения фантомов www.timurshamiladze.ru
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
Read Commited Snapshot • Уровень изоляции транзакции Read Commitedзащищает данные от грязного чтения, благодаря наложению S-блокировки на время чтения. • Тем самым препятствуя грязному чтению, т.к. S и Х блокировки между собой не совместимы. • Уровень изоляции транзакацииRead_Commited_Snapshot, защищает данные от грязного чтения с помощью механизма версионности. • При чтении данные берутся из акутальной версии данных на момент чтения. • Для каждого зафиксированного изменения данных имеется своя копия (версия) • Читающие транзакции не блокируют пишущие (т.к. не ставят блокировки) www.timurshamiladze.ru
Read Commited Snapshot • Остается проблема неповторяемого чтения и чтения фантомов. • Решается с помощью управляемых блокировок. www.timurshamiladze.ru
Read Commited Snapshot • Плюсы Read Commited Snapshot • Избавляемся от грязного чтения • Читаем всегда зафиксированные изменения • Повышается параллельность • Читающие и пишущие транзакции не блокируют друг друга • Минусы Read CommitedSnapshot • Увеличивается нагрузка на оборудование www.timurshamiladze.ru
Read Commited Snapshot • Рассмотрим пример, что грязного чтения в 8.3 уже нет, благодаря READ COMMITED SNAPSHOT www.timurshamiladze.ru