Содержание
- 2. План лекции Проблемы выполнения параллельных транзакций и способы их решения. Блокировки и взаимоблокировки.
- 3. Многопользовательский режим работы СУБД Если с базой данных одновременно работают несколько пользователей, СУБД должна гарантировать, что
- 4. Проблемы параллелизма Параллелизм (concurrency) – это одновременная обработка транзакций. Проблемы, которые возникают при этом: Потерянное обновление
- 5. Грязное чтение «Грязное» чтение (dirty read) – чтение данных, добавленных или изменённых незафиксированной транзакцией, которая впоследствии
- 6. Неповторяющееся чтение (non-repeatable read) Неповторяющееся чтение (non-repeatable read) – при повторном чтении в рамках одной транзакции,
- 7. Потерянное обновление Потерянное обновление (lost update) – при одновременном изменении одного блока данных разными транзакциями, одно
- 8. Фантомная вставка (phantom insert) Фантомная вставка (phantom insert) – одна транзакция в ходе своего выполнения несколько
- 9. Параллельное выполнение транзакций Когда 2 транзакции, А и В, выполняются параллельно, СУБД гарантирует, что результаты их
- 10. Сериализация транзакций Процедура согласованного выполнения параллельных транзакций: В ходе выполнения транзакции пользователь видит только согласованные данные.
- 11. Уровни изоляции транзакций Стандарт ANSI/ISO для SQL устанавливает различные 4 уровня изоляции транзакций. Уровень изоляции определяет
- 12. Уровни изоляции транзакций READ UNCOMMITTED - нефиксированное чтение. Здесь возможно получение разных результатов для одинаковых запросов
- 13. Уровни изоляции транзакций
- 14. Блокировка Наиболее распространенный механизм разграничения пишущих транзакций – использование блокировок. Блокировка – это временное ограничение доступа
- 15. Типы блокировок Различают следующие типы блокировок: По степени доступности данных: - разделяемые - исключающие По множеству
- 16. Режимы блокировки S (Shared) Совместный режим блокировки — нежесткая или разделяемая блокировка : Разделяемый захват объекта
- 17. Матрица совместимости блокировок
- 18. Блокировки в Oracle При выполнении транзакции СУБД Oracle автоматически блокирует необходимые данные. Блокировка устанавливается на самом
- 19. Взаимоблокировки Взаимная блокировка (deadlock) — это ситуация в СУБД, при которой двое или более сеансов находятся
- 20. Пример. Взаимоблокировка
- 22. Скачать презентацию