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

4.9.2 Поддержка целостности в классических субд

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

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

Алгоритмы управления транзакциями регулируют порядок совместной работы нескольких транзакций и поэтому обычно называются протоколами управления транзакциями. Такие протоколы основываются на предположении, что каждая из управляемых им транзакций обладает некоторым заданным набором свойств. Разные протоколы могут опираться на разные наборы свойств транзакций, но наиболее стандартным является так называемый набор ACID-свойств. Этот набор включает: атомарность, целостность, изолированность, постоянство.

Обязательным требованием, предъявляемым к любому протоколу управления транзакциями, является условие сохранения целостного состояния базы данных при совместном выполнении транзакций. Основным критерием определения сохранения целостности базы и, следовательно, корректности работы протокола является критерий сериализуемости получающихся расписаний [79].

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

Все протоколы управления транзакциями подразделяются на два класса: пессимистические и оптимистические.