СУБД следующего поколения
Термин "системы следующего (или третьего) поколения" вошел в жизнь после опубликования
группой известных специалистов в области БД "Манифеста систем баз данных третьего
поколения". Сторонники этого направления придерживаются принципа эволюционного развития
возможностей СУБД без коренной ломки предыдущих подходов и с сохранением преемственности
с системами предыдущего поколения.
Частично требования к системам следующего поколения означают просто необходимость
реализации давно известных свойств, отсутствующих в большинстве текущих реляционных СУБД
(ограничения целостности, триггеры, модификация БД через представления и т.д.). В число новых
требований входит полнота системы типов, поддерживаемых в СУБД; поддержка иерархии и
наследования типов; возможность управления сложными объектами и т.д.
Одной из наиболее известных СУБД третьего поколения является система Postgres, а создатель
этой системы М.Стоунбрекер, по всей видимости, является вдохновителем всего направления. В
Postgres реализованы многие интересные средства: поддерживается темпоральная модель хранения
и доступа к данным и в связи с этим абсолютно пересмотрен механизм журнализации изменений,
откатов транзакций и восстановления БД после сбоев; обеспечивается мощный механизм
ограничений целостности; поддерживаются ненормализованные отношения (работа в этом
направлении началась еще в среде Ingres), хотя и довольно странным способом: в поле отношения
может храниться динамически выполняемый запрос к БД.
Одно свойство системы Postgres сближает ее с объектно-ориентированными СУБД. В Postgres
допускается хранение в полях отношений данных абстрактных, определяемых пользователями
типов. Это обеспечивает возможность внедрения поведенческого аспекта в БД, т.е. решает ту же
задачу, что и ООБД, хотя, конечно, семантические возможности модели данных Postgres
существенно слабее, чем у объектно-ориентированных моделей данных.
Хотя отнесение СУБД к тому или иному классу в настоящее время может быть выполнено только
условно (например, иногда объектно-ориентированную СУБД O2 относят к системам следующего
поколения), можно отметить три направления в области СУБД следующего поколения. Чтобы не
изобретать названий, будем обозначать их именами наиболее характерных СУБД.
- Направление Postgres. Основная характеристика: максимальное следование (насколько это
возможно с учетом новых требований) известным принципам организации СУБД (если не считать
упоминавшейся коренной переделки системы управления внешней памятью).
- Направление Exodus/Genesis. Основная характеристика: создание собственно не системы, а
генератора систем, наиболее полно соответствующих потребностям приложений. Решение
достигается путем создания наборов модулей со стандартизованными интерфейсами, причем идея
распространяется вплоть до самых базисных слоев системы.
- Направление Starburst. Основная характеристика: достижение расширяемости системы и ее
приспосабливаемости к нуждам конкретных приложений путем использования стандартного
механизма управления правилами. По сути дела, система представляет собой некоторый
интерпретатор системы правил и набор модулей-действий, вызываемых в соответствии с этими
правилами. Можно изменять наборы правил (существует специальный язык задания правил) или
изменять действия, подставляя другие модули с тем же интерфейсом.
В целом можно сказать, что СУБД следующего поколения - это прямые наследники реляционных
систем.