
- •1. Классификация бд по доступу к данным
- •2. Особенности рбд
- •3. Преимущества и недостатки рбд
- •4. Сравнение рбд с бд централизованного хранения
- •5. Архитектура рбд с глобальной схемой хранения
- •6. Мультибазовые рбд
- •7. Компонентная архтектура рбд
- •8. Исходная информация для проектирования бд
- •9. Сравнение различных стратегий распределения данных
- •10. Фрагментация и репликация: понятия
- •11. Корректность фрагментации
- •12. Типы фрагментаций
- •13. Прозрачность размещения данных. Виды прозрачности
- •14. Прозрачность фрагментации
- •15. Прозрачность расположения
- •16. Прозрачность локального отображения
- •17. Прозрачность именования
- •18. Прозрачность параллельности и отказов
- •19. Прозрачность выполнения
- •20. Правила Дейта
- •21. Понятие транзакции, проблемы, возникающие при транзакции, свойства транзакции
- •22. Управление параллельностью, проблемы параллельности
- •23. Проблема несогласованной обработки
- •24. Проблема потерянного обновления
- •25. Проблема зависимости от нефиксированных результатов
- •26. Упорядочиваемость и восстанавливаемость
- •Восстанавливаемость
- •27. Упорядочивание по просмотру
- •28. Двухфазная блокировка
- •30. Взаимная блокировка - это
- •31.(????) Управление блокировками
- •32. Уровни детализации блокируемых элементов
- •33. Структура и назначение языка xml
- •34. Узлы, атрибуты и элементы на xml
- •35. Просмотр и обновление базы данных средствами xml
- •36. Обработка представленных на xml данных циклами
- •37. Навигация в данных средствами xml
- •38. Обработка представленных на xml данных операторами языка linq
- •39. Особенности создания интерфейсов на wpf
Восстанавливаемость
Упорядоченными называются такие графики, которые позволяют сохранить согласованность базы данных в предположении, что ни одна из транзакций этого графика не будет отменена. Противоположный подход анализирует восстанавливаемость транзакций, входящих в данный график. В случае, если выполнение транзакции было отменено, свойство атомарности требует, чтобы были отменены все имеющиеся результаты ее выполнения.
Кроме того, свойство продолжительности требует, чтобы после фиксации результатов транзакции выполненные ею изменения нельзя было отменить (без запуска другой, компенсирующей транзакции). Еще раз обратимся к двум транзакциям, уже рассмотренным выше:
Но на этот раз предположим, что вместо операции commit в конце транзакции Т9 был выполнен откат всех результатов ее выполнения. Транзакция Т10 уже считала измененное значение счета balx, записанное транзакцией Т9 , выполнила его обновление и зафиксировала результаты в базе данных. Строго говоря, следовало бы отменить результаты выполнения транзакции Т10, поскольку она использовала значение на счету balx, которое должно быть отменено. Однако свойство продолжительности транзакций не позволяет сделать этого. Другими словами, данный график не обладает свойством восстанавливаемости и поэтому является некорректным.
Восстанавливаемый график
График, в котором для каждой пары транзакций Тi и Tj выполняется следующее правило: если транзакция Тj считывает элемент данных, предварительно записанный транзакцией Тi, то фиксация результатов транзакции Ti
должна выполняться до фиксации результатов транзакции Tj .
27. Упорядочивание по просмотру
Существует и несколько других типов упорядочивания, которые выдвигают менее строгое определение эквивалентности графиков, чем то, которое дается в случае конфликтной упорядоченности. Одно из этих определений называют упорядочиванием по просмотру.
Два графика S1 и S2 состоящих из одних и тех же операций, входящих
в состав n транзакций Т 1 , Т 2 •... , Тn , являются эквивалентными по просмотру, если выполняются следующих три условия:
• Для каждого элемента данных х: если транзакция Тi прочла исходное значение х в графике S1 эта же транзакция Тi должна прочесть исходное значение х и в графике S2.
• Для каждой операции чтения элемента данных х транзакцией Ti
в графике S1: если считанное значение элемента х было записано транзакцией Тj то и в графике S2 транзакция Тj должна считывать значение элемента х, записанное транзакцией Тj.
• Для каждого элемента данных х: если в графике S1 последняя операция записи значения х была выполнена транзакцией Тi, эта же самая транзакция должна выполнять последнюю запись значения элемента данных х и в графике S2.
График является упорядоченным по просмотру, если он эквивалентен по просмотру некоторому последовательному графику. Каждый конфликтно упорядоченный график в то же время является упорядоченным по просмотру, однако обратное утверждение неверно.
Например, график, представленный в таблице, является упорядоченным по просмотру, но не является конфликтно упорядоченным. В этом примере для транзакций Т 12 и Т 13 не соблюдается правило вынужденной записи другими словами, в них выполняется слепая запись. Может быть математически доказано, что любой упорядоченный по просмотру график, который не является конфликтно упорядоченным, содержит одну или больше операций слепой записи.
Таблица Пример упорядоченного по просмотру графика, который не
является конфликтно упорядоченным
В общем случае проверка того, является ли график упорядоченным по просмотру, представляет собой весьма сложную задачу. На практике СУБД не проверяют графики на упорядоченность. Это было бы нецелесообразно,
поскольку чередование операций параллельно выполняющихся транзакций
определяется операционной системой. Вместо этого в СУБД используются
специальные протоколы, позволяющие создавать упорядоченные графики.