Классика баз данных - статьи

       

предыдущее состояние объекта данных хранится


( предыдущее состояние объекта данных хранится и в основной БД, и

в журнале изменений); языки запросов реляционных СУБД не

приспособлены для работы со временем.

Существует отдельное направление исследований и разработок в

области темпоральных БД. В этой области исследуются вопросы

моделирования данных, языки запросов, организация данных во

внешней памяти и т.д. Основной тезис темпоральных систем состоит

в том, что для любого объекта данных, созданного в момент времени

t1 и уничтоженного в момент времени t2, в БД сохраняются (и

доступны пользователям) все его состояния во временном интервале

[t1,t2).

Исследования и построения прототипов темпоральных СУБД обычно

выполняются на основе некоторой реляционной СУБД. Как и в случае

дедуктивных БД темпоральная СУБД - это надстройка над реляционной

системой. Конечно, это не лучший способ реализации с точки зрения

эффективности, но он прост и позволяет производить достаточно

глубокие исследования.

Примером кардинального (но может быть, преждевременного) решения

проблемы темпоральных БД может служить СУБД Postgres. Эта система

является новым инструментом М.Стоунбрекера для исследований и

обучения студентов в университете г.Беркли, и он безбоязненно

идет в ней на самые смелые эксперименты.

Главными особенностями системы управления памятью в Postgres

является, во-первых, то, что в ней не ведется обычная

журнализация изменений базы данных и мгновенно обеспечивается

корректное состояние базы данных после перевызова системы с

утратой состояния оперативной памяти. Во-вторых, система

управления памятью поддерживает исторические данные. Запросы

могут содержать временные характеристики интересующих объектов.

Реализационно эти два аспекта связаны.

Основное решение состоит в том, что при модификациях кортежа

изменения производятся не на месте его хранения, а заводится

новая запись, куда помещаются измененные поля. Эта запись

содержит, кроме того, данные, характеризующие транзакцию,

производившую изменения (в том числе и время ее завершения), и


Содержание  Назад  Вперед