Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ШПОРИ НА ЕКЗАМЕН.doc
Скачиваний:
3
Добавлен:
17.04.2019
Размер:
207.87 Кб
Скачать

72. Гранулированные синхронизационные захваты.

При применении этого подхода синхронизационные захваты могут запрашиваться по отношению к объектам разного уровня: файлам, отношениям и кортежам. Требуемый уровень объекта определяется тем, какая операция выполняется.

IS – при намерении читать кортеж из R это отношение должно быть захвачено в IS ( а до этого в таком же режиме должен быть захвачен файл); IX – при намерении удалять кортежи из R это отношение должно быть захвачено в IХ ( а до этого в таком же режиме должен быть захвачен файл); SIX – если выполняется длинная операция просмотра отношения с возможностью удалений некоторых просматриваемых кортежей, то экономичнее захватить в режиме SIX, а до этого – файл в режиме IS.

73. Предикатные синхронизационные захваты.

Гранулированный синхронизационный захват не решает проблему фантомов в отличии от предикатного. Для решения этой проблемы надо перейти от захватов индивидуальных объектов базы данных к захвату условий, которым удовлетворяют эти объекты. Проблема фантомов не возникают при использовании для синхронизации уровня отношений потому, что отношения как логический объект представляют собой неявное условие для входящих в него кортежей.

R – отношение с атрибутами a1…aп; m1…mп – множества допустимых значений соответствующих атрибутов. Можно сопоставить R конечное п-мерное пространство возможных значений кортежей R. Любое простое условие вырезает m-мерный прямоугольник в этом пространстве(m<=n). Если эти прямоугольники не пересекаются, то предикатные захваты от разных транзакций совместимы.

74. Понятие тупика.

Тупики – ситуация, когда некая транзакция может ожидать бесконечно.

Например Т1 и Т2 захватили монопольно объекты 1 и 2.После этого Т1 тербуется совместный захват о1, а Т2 совм захват о2.И они ожидают бесконечно. Одним из недостатков метода синхронизации транзакции на основе синхронизационных захватов является возможность возникновения тупиков между транзакциями. Тупики возможны всегда и при гранулированном и предикатном методах. Тупики необходимо обнаруживать и искусственно истреблять.

75. Граф ожидания транзакций

Основой обнаружения тупиков является построение или постоянное поддержание графа ожидания транзакции. Граф ожидания транзакций – ориентированный 2-дольный граф, в котором существует 2 типа вершин: вершины соответствующие транзакциям и вершины соответствующие объектам захвата. Если дуга идет из вершины транзакции к вершине объекта, для этой транзакции удовлетворен захват объекта. Если дуга идет из вершины объекта к вершине транзакции, транзакция ожидает удовлетворения захвата объекта. В системе существует ситуация тупика, если в графе ожидания транзакций имеется хоть 1 цикл. Для удаления цикла жертвуют самую плохую (дешевую) транзакцию. Для централизованных СУБД.

76. Метод временных меток

Хорошо работает в условиях редких конфликтов и не требует построения графа ожидания транзакции. Для каждой транзакции Т предписывается временная метка t соответствующая времени начала T. При выполнении операции над объектом Г транзакция Т помечает его своей временной меткой и типом операции. Точка перед выполнением операции над Г T1 выполняет:

  1. если T закончилось, то T1 помечает Г и выполняет свою операцию

  2. если не закончилась, то T1 проверяет конфликтность операций. Если не конфликтны при Г остается или проставляется временная метка с меньшим значением и T1 выполняет операцию

  3. T1 и T – конфликтны. Если t(T)>t(T1) T откатывается и T1 продолжает работу.

  4. t(T)<t(T1) то T получает новую временную метку и начинается заново.