logo
Учебник ИСПиУ

Активные базы данных реального времени

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

Одна проблема, которая возникает − какие приоритеты назначать подтранзакциям [79]. Также, поскольку транзакция порождает подтранзакцию (непосредственную или отложенную), то количество работы, которое должно быть сделано для завершения первоначальной транзакции, увеличивается. А следовательно, такая транзакция имеет меньший шанс завершиться успешно, чем например транзакция, которая имеет такой же приоритет, но не порождает никаких транзакций. Оперативный учет такой информации – еще одна проблема.

Рассмотрим эти вопросы более подробно, для чего рассмотрим модель активной БДРВ, в которой могут порождаться только непосредственные или отложенные транзакции, и к тому же порожденные транзакции не могут порождать более никаких транзакций. Также предположим, что транзакции имеют крепкие директивные сроки, т.е. транзакция, пропустившая свой директивный срок, будет оборвана вместе со всеми порожденными ею транзакциями.