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

4.9.17 Заключение

Изменение требований, предъявляемых к СУБД в системах реального времени, влечет за собой необходимость пересмотра и дополнительных исследований во многих областях теории БД, включая протоколы управления транзакциями.

В системах реального времени транзакции имеют ассоциированные директивные сроки, а используемые критерии производительности отличаются от тех, что используются в классических СУБД. Поэтому протоколы управления транзакциями, используемые в классических СУБД, показывают далеко не лучшую производительность в системах реального времени.

За последние несколько лет был предложен ряд специализированных протоколов управления транзакциями для систем реального времени, которые учитывают специфику таких систем. Интересно, что в отличие от случая классических СУБД, в системах реального времени «оптимистические» протоколы показывают лучшие результаты по сравнению с «пессимистическими».

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

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

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

В данной теме затронута только часть проблем, связанных с поддержкой целостности данных в СУБД, но многое осталось за ее рамками. В частности, известны попытки использовать другие критерии корректности, отличные от сериализуемости [79], другие наборы свойств транзакций (вместо ACID). Также в системах реального времени большое внимание уделяется формальным методам, используемых для моделирования, спецификации ограничений, проверки корректности [79].