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

64. Виды ограничений целостности в распределенных ис

Делятся на: немедленно проверяемые(связано с операторами, нету отката транзакции, просто отвергается операция, до конца транзакции откладывать проверку нет смысла, сотруднику 100 лет нет) и откладываемые – накладываются на всю БД или на несколько таблиц, ограничения проверяются, когда транзакция заканчивается(существует и принудительная проверка, когда есть подозрение на нарушение целостности, транзакция прерывается, идет обращение к пользователю), если что происходит откат.

65. Уровни изолированности транзакций (уит)

При одновременном многопользовательском доступе к БД задачей системы является обеспечение изолированности пользователей (так как будто пользователь работает в одиночку), это достигается механизмом транзакция (система целостна при начале работы)

При соблюдении целостности возможны следующие нарушения изолированности пользователей и соответствующие им уровни изолированности транзакций:

  1. отсутствие потерянных изменений

  2. отсутствие чтения грязных данных;

  3. отсутствие неповторяющихся чтений

  4. кортежи-фантомы

66. УИТ: отсутствие потерянных изменений

2 транзакции, 1 вносит изм, 2 вносит изм до первой, но заканчивается оп. Ролбек, тогда первая транзакция не видит изменений

67. УИТ: отсутствие чтения грязных данных

1 транзакция меняет объект А, 2 транзакция читает об А, 2 транзакц при этом видит грязную инф.Как избежать? Блокировка чтения объекта А до окончания транзакции 1.

68. УИТ: отсутствие неповторяющихся чтений

Транз 1 читает об А, в это время транз 2 успешно поменяла объект А, приходится повторно читать об А.Как изб? До завершения транз 1 никакая другая транз не имеет права менять об А.

69. УИТ: кортежи-фантомы.

Т1 вибирает кортеж с отношения R c условием выборки S. До завершения Т1, Т2 вставляет в R новый кортеж г, удовлетворяющий условию S и завершается. Т1 повторно выполняется и появляется новый кортеж.

Требуется логический уровень синхронизации транзакций.

70. Сериализация транзакций. Конфликт между транзакциями

Сериализация транзакций – механизм их выполнения по некоторому сериальному плану (результат совместного выполнения ~ последовательному выполнению). Система в которой поддерживается сериализация транзакций обеспечивает реальную изолированность пользователей. Надо найти метод, который не слишком ограничивал бы параллельность транз. Тривиальный метод – последовательные транз.

Конфликты:

W-W – Т2 пытается изменить объект, изменённый не закончившейся Т1

R-W – Т2 пытается изменить объект, прочитавший не закончившейся Т1

W-R – Т2 пытается читать объект, измененный не закончившейся Т1.

Существуют два базовых подхода к сериализации транзакций:

основанный на синхронизационных захватах объектов базы данных;

основанный на использовании временных меток.

71. Синхронизационные захваты

Наиболее распространенными является подход, оснований на соблюдении 2-фазного протокола, синхронизационных захватов объектов БД. Существует 2 режима синхронизационных захватов:

  1. совместный режим S(shared) – разделяемый захват объекта и требуемый для выполнения операции чтения объекта

  2. монопольный режим Х(eXclusive) – монопольный захват объекта и требуемый для выполнения операций занесения, удаления, модификации

2-фазный протокол 2PL:

  1. первая фаза транзакции – накопление захватов

  2. вторая фаза – освобождение захватов

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

При соблюдении 2ух фазной синхронизации обеспечивается 3тий уровень изолированности.