Корпоративные базы данных - статьи


2.4. Темпоральные базы данных



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

Конечно, можно явно ввести в хранимые отношения явный временной атрибут и поддерживать его
значения на уровне приложений. Более того, в большинстве случаев так и поступают. Недаром в
стандарте SQL появились специальные типы данных date и time. Но в таком подходе имеются
несколько недостатков: СУБД не знает семантики временного поля отношения и не может
контролировать корректность его значений; появляется дополнительная избыточность хранения
(предыдущее состояние объекта данных хранится и в основной БД, и в журнале изменений); языки
запросов реляционных СУБД не приспособлены для работы со временем.

Существует отдельное направление исследований и разработок в области темпоральных БД. В
этой области исследуются вопросы моделирования данных, языки запросов, организация данных
во внешней памяти и т.д. Основной тезис темпоральных систем состоит в том, что для любого
объекта данных, созданного в момент времени t1 и уничтоженного в момент времени t2, в БД
сохраняются (и доступны пользователям) все его состояния во временном интервале [t1,t2].

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

Примером кардинального (но может быть, преждевременного) решения проблемы темпоральных
БД может служить СУБД Postgres. Эта система была разработана М.Стоунбрекера для
исследований и обучения студентов в университете г.Беркли, и он смело шел в ней на самые смелые



- Начало -  - Назад -  - Вперед -