Механизмы сериализации транзакций
Методы сериализации транзакций основываются на учете этих конфликтов.
Для организации управления параллельным выполнением используют:
механизм блокировок;
механизм обработки временных меток.
Механизм блокировок
Распространен в коммерческих СУБД. Самый простой вариант – блокировка объекта на время действия транзакции.
Сначалом транзакции объект блокируется и становится недоступным другим транзакциям. По окончании транзакции объекты разблокируются.
При обращении к заблокированному объекту транзакция остается в состоянии ожидания.
Механизм ликвидирует перечисленные выше проблемы, но создает новые – задержку выполнения транзакций из-за блокировок.
Объекты захвата в реляционных базах данных
файл – физический объект (область хранения нескольких отношений и индексов);
таблица – логический объект (множество записей данного отношения);
страница данных – физический объект, хранящий записи одного или нескольких отношений, индексную или служебную информацию;
запись – элементарный физический объект БД.
Блокировка на уровне поля не реализована (приводит к перегрузке менеджера блокировок).
Типы блокировок
Совместный режим блокировки – S (Shared) – разделяемый захват объекта (заблокированные объекты не изменяются и доступны другим транзакциям в режиме чтения).
Монопольный режим блокировки – X (eXclusive) – монопольный захват объекта (требуется для операций записи, удаления и модификации; заблокированные объекты недоступны для других транзакций).
Правила совместимости захватов одного объекта