Содержание
- 2. Изолированнность Современные СУБД являются многопользовательскими системами, т.е. допускают параллельную одновременную работу большого количества пользователей. При этом
- 3. Изолированнность Простейший способ обеспечить такую иллюзию у пользователя - все поступающие транзакции выстраивать в единую очередь
- 4. Условия СУБД гарантирует, что, с точки зрения пользователя, будут выполнены два условия: Эта операция будет выполнена
- 5. Работа транзакций в смеси Элементарные операции различных транзакций могут выполняться в произвольной очередности. Например, если есть
- 6. Смесь транзакций Определение: Набор из нескольких транзакций, элементарные операции которых чередуются друг с другом, называется смесью
- 7. Требование к графику запуска транзакций График запуска должен быть оптимальным, то есть давать минимальное среднее время
- 8. Проблемы параллельной работы транзакций (параллелизма) Проблема потери результатов обновления Проблема незафиксированной зависимости (чтение "грязных" данных) Проблема
- 9. Обозначения: Рассмотрим две транзакции, A и B, запускающиеся в соответствии с некоторыми графиками. Пусть транзакции работают
- 10. Проблема потери результатов обновления Две транзакции по очереди записывают некоторые данные в одну и ту же
- 11. Результат После окончания обеих транзакций, строка содержит значение , занесенное более поздней транзакцией B. Транзакция A
- 12. Проблема незафиксированной зависимости (чтение "грязных" данных или неаккуратное считывание) Транзакция B изменяет данные в строке После
- 13. Проблема незафиксированной зависимости
- 14. Результат Транзакция A в своей работе использовала данные, которых нет и не было в базе данных.
- 15. Проблема несовместимого анализа Проблема несовместимого анализа включает следующие варианты: Неповторяемое считывание Фиктивные элементы (фантомы) Собственно несовместимый
- 16. Неповторяемое считывание Транзакция A дважды читает одну и ту же строку. Между этими чтениями вклинивается транзакция
- 17. Результат Транзакция A работает с данными, которые, с точки зрения транзакции A, самопроизвольно изменяются.
- 18. Фиктивные элементы (фантомы) Транзакция A дважды выполняет выборку строк с одним и тем же условием. Между
- 19. Фиктивные элементы Результат. Транзакция A в двух одинаковых выборках строк получила разные результаты.
- 20. Собственно несовместимый анализ в смеси присутствуют две транзакции - одна длинная, другая короткая. Длинная транзакция выполняет
- 21. Собственно несовместимый анализ Результат. Хотя транзакция B все сделала правильно - деньги переведены без потери, но
- 22. Конфликты между транзакциями при работе в смеси нарушается свойство (И) транзакций - изолированность. Транзакции реально мешают
- 23. Конфликты между транзакциями Транзакции называются конкурирующими, если они пересекаются по времени и обращаются к одним и
- 24. Виды конфликтов W-W (Запись - Запись). Первая транзакция изменила объект и не закончилась. Вторая транзакция пытается
- 25. Способы разрешения конкуренции транзакций Притормаживание некоторых транзакций Предоставление транзакциям разных версий данных Блокировки Журнал транзакций
- 26. Блокировки Основная идея блокировок заключается в том, что если для выполнения некоторой транзакции необходимо, чтобы объект
- 27. Типы блокировок Монопольные блокировки (X-блокировки, X-locks - eXclusive locks) - блокировки без взаимного доступа (блокировка записи).
- 28. Блокировки Если транзакция A блокирует объект при помощи X-блокировки, то всякий доступ к этому объекту со
- 29. Матрица совместимости блокировок
- 31. Скачать презентацию