Содержание
- 2. Основные понятия Транзакция – это неделимая последовательность действий, переводящая базу данных из одного непротиворечивого состояния в
- 3. Основные понятия Свойства транзакции: Атомарность (Atomicity) Согласованность (Consistency) Изолированность (Isolation) Устойчивость (Durability)
- 4. Основные понятия SELECT * FROM Exemplars e JOIN Readers r ON e.reader_id = r.reader_id BEGIN TRAN
- 5. Управление параллельностью Управление параллельностью выполнения транзакций – это процесс организации выполнения различных операций с БД, гарантирующий
- 6. Управление параллельностью Проблемы параллельной обработки данных: Проблема потерянного обновления. Lost Updates Зависимость от нефиксированных результатов (Проблема
- 7. Управление параллельностью Проблема потерянного обновления. Lost Updates bal=100 T1 – снять 10 T2 – добавить 100
- 8. Управление параллельностью Зависимость от нефиксированных результатов (Проблема «грязного» чтения) bal=100 T1 – снять 10 T2 –
- 9. Управление параллельностью Проблема несогласованной обработки (Проблема неповторяемого чтения) bal1=100, bal2=50, bal3=25 T1 – снять 10 с
- 10. Управление параллельностью Проблема чтения фантомов Решение проблемы: T1 не должна удалять данные до того, как завершится
- 11. Управление параллельностью Уровни изоляции транзакций в MS SQL Server: READ UNCOMMITED - незавершенное чтение. Гарантируется только
- 12. Методы управления параллельностью Подходы: Пессимистический подход – выполнение транзакции откладывается, если возможен конфликт между транзакциями Метод
- 13. Методы управления параллельностью Основные типы блокировок: S-блокировка (Shared Lock) - разделяемая (нежесткая) блокировка. Запрещает изменение объекта,
- 14. Двухфазный протокол блокировки Выполнение транзакции имеет две фазы: Фаза нарастания (расширения): транзакция устанавливает блокировки на необходимые
- 15. Двухфазный протокол блокировки Решение проблемы потерянного обновления
- 16. Двухфазный протокол блокировки Решение проблемы зависимости от нефиксированных результатов
- 17. Двухфазный протокол блокировки Решение проблемы несогласованной обработки данных
- 18. Двухфазный протокол блокировки Решение проблемы чтения фантомов
- 19. Взаимные блокировки Взаимная блокировка (тупиковая блокировка, «мертвая» блокировка, deadlock) имеет место тогда, когда две или более
- 20. Взаимные блокировки Двухфазный протокол блокировки не решает проблемы взаимной блокировки
- 21. Взаимные блокировки Msg 1205, Level 13, State 56, Procedure P2, Line 27 Transaction (Process ID 55)
- 22. Взаимные блокировки транзакция Ti ожидает освобождения блокировки ресурса X, выставленной транзакцией Tj T1 T2 T3 X
- 23. Метод выявления взаимных блокировок Выявление взаимных блокировок: СУБД строит граф ожиданий через определенные промежутки времени Если
- 24. Метод предупреждения взаимных блокировок Основная идея метода предупреждения взаимных блокировок: устанавливается порядок выполнения транзакций на основе
- 25. Метод предупреждения взаимных блокировок Алгоритм 1. «Ожидание-отмена»: Допускается только ожидание старой транзакцией. Если более новая транзакция
- 26. Гранулированные захваты (уровни блокировок) Уровни блокировок (выборочно): RID – блокировка отдельной строки (используется ID строки) Page
- 27. Гранулированные захваты (уровни блокировок) Блокировки намерения: устанавливаются вверх по иерархии от блокируемого элемента для того, чтобы
- 28. Гранулированные захваты (уровни блокировок) S – разделяемая блокировка. Автоматически распространяет вниз по иерархии. Устанавливается для чтения
- 29. Гранулированные захваты (уровни блокировок) Запрашиваемая блокировка Таблица совместимости блокировок
- 30. Гранулированные захваты (уровни блокировок) T P2 P1 R1 R1 Trans1 (S) IS IS X нельзя S
- 31. Гранулированные захваты (уровни блокировок) T P2 P1 R1 R1 Trans1 (X, SIX) IX IX X нельзя
- 32. Управление транзакциями Явные транзакции: BEGIN TRAN, COMMIT TRAN, ROLLBACK TRAN Автоматические (по умолчанию): каждая команда –
- 33. Вложенные транзакции
- 34. Метод временных отметок
- 35. Оптимистический подход управления параллельным выполнение транзакций
- 36. Восстановление баз данных Восстановление базы данных – это процесс возвращения базы данных в корректное состояние, утраченное
- 37. Восстановление баз данных Задачи восстановления БД: Резервное копирование Ведение журнала транзакций и изменений БД Создание контрольных
- 38. Транзакции и восстановление Основная идея 1) Журнал используется для определения состояния транзакций на момент сбоя 2)
- 39. Журнал транзакций Журнал содержит следующие записи о транзакциях: Идентификатор транзакции Тип записи (начало транзакции, завершение транзакции,
- 40. Метод восстановления с использованием отложенного обновления При использовании метода восстановления с отложенным обновлением, нормальная работа СУБД
- 41. Метод восстановления с использованием отложенного обновления Файл БД Файл журнала Журнал в оперативной памяти Транзакция «Начало
- 42. Метод восстановления с использованием отложенного обновления Последовательность действий при восстановлении после сбоя: Журнал просматривается в обратном
- 44. Скачать презентацию