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


2.6. СУБД следующего поколения



Термин "системы следующего (или третьего) поколения" вошел в жизнь после опубликования
группой известных специалистов в области БД "Манифеста систем баз данных третьего
поколения". Сторонники этого направления придерживаются принципа эволюционного развития
возможностей СУБД без коренной ломки предыдущих подходов и с сохранением преемственности
с системами предыдущего поколения.

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

Одной из наиболее известных СУБД третьего поколения является система Postgres, а создатель
этой системы М.Стоунбрекер, по всей видимости, является вдохновителем всего направления. В
Postgres реализованы многие интересные средства: поддерживается темпоральная модель хранения
и доступа к данным и в связи с этим абсолютно пересмотрен механизм журнализации изменений,
откатов транзакций и восстановления БД после сбоев; обеспечивается мощный механизм
ограничений целостности; поддерживаются ненормализованные отношения (работа в этом
направлении началась еще в среде Ingres), хотя и довольно странным способом: в поле отношения
может храниться динамически выполняемый запрос к БД.

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

Хотя отнесение СУБД к тому или иному классу в настоящее время может быть выполнено только



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