Разработка прототипа системы управления объектно-ориентированной базой данных

       

Информация о транзакциях в системе


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

Таблица 8: Структура транзакционного сообъекта

(агрегата)

Имя поля

Значение

DSL

Множество локальных зависимостей

DSI

Множество унаследованных зависимостей

DSR

Множество приобретенных зависимостей

DS

Множество зависимостей

Множество зависимостей получается объединением множеств локальных, уна­сле­дованных и приобретенных зависимостей. Каждый элемент какого-либо из этих мно­жеств зависимостей – пара номеров транзакций (Ti,Tj). Если трактовать это мно­жест­во как множество ребер графа, в кото­ром вершины – номера транзакций, а реб­ра – зави­симости между транзакциями, то наличие цикла в графе означает некор­рект­ное выпол­нение транзакций.

В целях упрощения решено отказаться от таблицы конфликтов. Таблица кон­флик­тов описывает какие операции конфликтуют между собой, т.е. может ли выпол­нять­ся операция A, если в данных момент выполняется операция B. Ячейка таблицы может принимать одно из трех значений: «Конфликтует», «Не конфликтует», «Неизвестно». Значение «Неизвестно» вводится по причине наличия механизма позднего связывания, при котором заранее не известно, конфликтуют ли операции.



Содержание раздела