Ћекции.ќрг


ѕоиск:




 атегории:

јстрономи€
Ѕиологи€
√еографи€
ƒругие €зыки
»нтернет
»нформатика
»стори€
 ультура
Ћитература
Ћогика
ћатематика
ћедицина
ћеханика
ќхрана труда
ѕедагогика
ѕолитика
ѕраво
ѕсихологи€
–елиги€
–иторика
—оциологи€
—порт
—троительство
“ехнологи€
“ранспорт
‘изика
‘илософи€
‘инансы
’ими€
Ёкологи€
Ёкономика
Ёлектроника

 

 

 

 


”ровни изол€ции в €дре —”Ѕƒ




“ранзакции указывают уровень изол€ции, который определ€ет степень, до которой одна транзакци€ должна быть изолирована от изменений ресурса или данных, произведенных другими транзакци€ми.

”ровни изол€ции транзакций контролируют следующие параметры:

  • ѕрименение и типы блокировки при чтении данных.
  • ¬рем€ удержани€ блокировок чтени€.
  • »спользование операции чтени€ ссылок на строки, измененные другой транзакцией.
    • Ѕлокировка до тех пор, пока не будет сн€та монопольна€ блокировка строки.
    • »звлечение зафиксированной версии строки, котора€ существовала в то врем€, когда началось выполнение инструкции или транзакции.
    • —читывание незафиксированного изменени€ данных.

¬ыбор уровн€ изол€ции транзакции не вли€ет на блокировки, примененные дл€ защиты изменений данных. “ранзакци€ всегда вызывает монопольную блокировку любых данных, которые она измен€ет, и держит блокировку до тех пор, пока транзакци€ не завершитс€, независимо от уровн€ изол€ции, установленного дл€ транзакции. ƒл€ операций чтени€ уровни изол€ции транзакций, в основном, определ€ют уровень защиты от эффектов изменений, сделанных другими транзакци€ми.

Ѕолее низкий уровень изол€ции увеличивает возможность получени€ доступа к данным несколькими пользовател€ми одновременно, но увеличивает число негативных эффектов одновременного доступа (таких как Ђгр€зноеї чтение или потер€нные обновлени€), с которыми может столкнутьс€ пользователь. Ќаоборот, более высокий уровень изол€ции уменьшает число негативных эффектов одновременного доступа, с которыми может столкнутьс€ пользователь, но требует больше системных ресурсов и увеличивает шанс того, что одна транзакци€ блокирует другую. ¬ыбор соответствующего уровн€ изол€ции зависит от баланса между требовани€ми к целостности данных приложени€ и издержек каждого уровн€ изол€ции. —амый высокий уровень изол€ции Ч изол€ци€ упор€дочиваемых транзакций Ч гарантирует, что транзакци€ извлечет в точности те же данные при каждой операции чтени€, но достигаетс€ это применением уровн€ блокировки, при котором очень веро€тно вли€ние на других пользователей в многопользовательских системах. —амый низкий уровень изол€ции Ч изол€ци€ незафиксированного чтени€ Ч может извлечь данные, которые были изменены, но не зафиксированы другой транзакцией. ѕри изол€ции незафиксированного чтени€ могут про€витьс€ все негативные эффекты одновременного доступа, при таком уровне нет блокировки чтени€ или управлени€ верси€ми, так что издержки минимальны.

—тандарт SQL-99 определ€ет следующие уровни изол€ции, каждый из которых поддерживаетс€ компонентом Microsoft SQL Server Database Engine:

  • изол€ци€ незафиксированного чтени€ (самый низкий уровень, при котором транзакции изолируютс€ до такой степени, чтобы только уберечь от считывани€ физически поврежденных данных);
  • изол€ци€ зафиксированного чтени€ (уровень компонента Database Engine по умолчанию);
  • изол€ци€ повтор€ющегос€ чтени€;
  • изол€ци€ упор€дочиваемых транзакций (самый высокий уровень, при котором транзакции полностью изолированы друг от друга).

SQL Server 2008 также поддерживает два уровн€ изол€ции транзакций, которые используют управление верси€ми строк. ќдин €вл€етс€ новой реализацией уровн€ изол€ции зафиксированного чтени€, а второй - изол€ци€ моментального снимка.

  • ≈сли параметру базы данных READ_COMMITTED_SNAPSHOT присвоено значение ON, уровень изол€ции зафиксированного чтени€ использует управление верси€ми строк дл€ обеспечени€ согласованности считывани€ на уровне инструкций. ќперации чтени€ требуют применени€ только блокировок уровн€ таблицы SCH-S и не допускают применени€ блокировок строк или страниц. ≈сли параметр базы данных READ_COMMITED_SNAPSHOT установлен в OFF (значение по умолчанию), то изол€ци€ зафиксированного чтени€ работает так же, как и в предыдущих верси€х SQL Server. ќбе реализации согласуютс€ с определением ANSI дл€ уровн€ изол€ции зафиксированного чтени€.
  • ”ровень изол€ции моментальных снимков использует управление верси€ми строк дл€ обеспечени€ согласованности чтени€ на уровне транзакций. ќперации чтени€ примен€ют только блокировки таблицы SCH-S и не примен€ют блокировок строк или страниц. ≈сли считываемые строки изменены другой транзакцией, то извлекаетс€ верси€ строки, котора€ существовала в момент запуска транзакции. »зол€ци€ моментальных снимков включаетс€, если параметр базы данных ALLOW_SNAPSHOT_ISOLATION установлен в ON. ѕо умолчанию дл€ пользовательских баз данных этот параметр установлен в OFF.




ѕоделитьс€ с друзь€ми:


ƒата добавлени€: 2016-11-22; ћы поможем в написании ваших работ!; просмотров: 371 | Ќарушение авторских прав


ѕоиск на сайте:

Ћучшие изречени€:

Ѕутерброд по-студенчески - кусок черного хлеба, а на него кусок белого. © Ќеизвестно
==> читать все изречени€...

1347 - | 1355 -


© 2015-2024 lektsii.org -  онтакты - ѕоследнее добавление

√ен: 0.012 с.