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

       

в общем контексте модели O2.


построения в общем контексте модели O2. Запрос задается всегда на

значении-множестве или списке. Если мы вспомним, что

долговременному классу в O2 соответствует одноименное

значение-множество, то тем самым можно определить запрос на любом

хранимом классе. Результатом запроса может являться объект,

значение-множество или значение-список. При этом элементами

значений-множеств могут являться объекты (простая выборка), либо

значения-кортежи с элементами-объектами разных классов

(например). В совокупности эти особенности языка позволяют

формулировать запросы над несколькими классами (специфическое

соединение, порождающее не новые объекты, а кортежи из

существующих объектов), а также употреблять вложенные подзапросы.

Остановимся теперь на проблемах выполнения запросов к ООБД,

сформулированных на каком-либо декларативном языке. Каким бы не

был этот язык, в конечном счете потребуется по внешнему

представлению запроса сформировать план его выполнения, который

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

выполнения запроса. Другими словами, до выполнения запроса

необходимо выполнить его оптимизацию, учитывая в общем случае

необходимость обменов с внешней памятью.

Публикации, касающиеся оптимизации запросов к ООБД, практически

отсутствуют. Это свидетельствует о недостаточной развитости

каких-либо оригинальных подходов.

В большинстве систем по сути дела применяется тот же подход к

оптимизации запросов, который использовался в реляционных

системах: формируется набор альтернативных планов, оценивается

стоимость каждого из них и выбирается план с наименьшей

стоимостью. (Подробный обзор современных методов оптимизации

запросов в реляционных СУБД и нерешенных проблем можно найти в

.) Возможность применения такого подхода в СУБД ORION и O2

(да и в других) опирается на то, что объекты в этих системах не

полностью инкапсулированы. Наряду с методами, в объектах видны и

некоторые атрибуты, и если условие выборки задано через эти

атрибуты, оптимизатор запросов, которому известны внутренняя


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