Объектно-ориентированные базы данных - основные концепции, организация и управление: краткий обзор

ОГЛАВЛЕНИЕ

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

Что касается связи с предыдущими работами в области БД, то на наш взгляд наиболее сильное влияние на работы в области ООБД оказывают проработки реляционных СУБД и следующее хронолигически за ними семейство БД, в которых поддерживается управление сложными объектами [52-56]. Кроме того, исключительное влияние на идеи и концепции ООБД и, как кажется, всего объектно-ориентированного подхода оказал подход к семантическому моделированию данных (например, [57-59], хотя общее число публикаций по семантическому моделированию поистине безгранично). Достаточное влияние оказывают также развивающиеся параллельно с ООБД направления дедуктивных и активных БД [10, 42, 82, 84].

Среди языков и систем программирования наибольшее первичное влияние на ООБД оказал Smalltalk [34, 36]. Этот язык сам по себе не является полностью поинерским, хотя в нем была введена новая терминология, являющаяся теперь наиболее распространенной в объектно-ориентированном программировании. На самом деле, Smalltalk основан на ряде ранее выдвинутых концепций. Хороший обзор идей и подходов объектно-ориентированного программирования представлен, например, в [3].

Большое число работ не означает, что все проблемы ООБД полностью решены. Как отмечается в Манифесте группы ведущих ученых, занимающихся ООБД, [8] современная ситуация с ООБД напоминает ситуацию с реляционными системами середины 1970-х. При наличии большого количества экспериментальных проектов (и даже коммерческих систем) отсутствует общепринятая объектно-ориентированная модель данных, и не потому, что нет ни одной разработанной полной модели, а по причине отсутствия общего согласия о принятии какой-либо модели. На самом деле, имеются и более конкретные проблемы (например, [5, 7]), связанные с разработкой декларативных языков запросов, выполнением и оптимизацией запросов, формулированием и поддержанием ограничений целостности, синхронизацией доступа и управлением транзакциями и т.д.

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