Объектно-ориентированные базы данных - основные концепции


Объектно-ориентированные базы данных - основные концепции - стр. 25


индексов, получает возможность выбора. Если же условие выборки
можно формулировать только через методы, при подходах ORION и
O2 единственным возможным способом выборки объектов класса
будет последовательный просмотр всех объектов этого класса.
 
Здоник [7] отмечает, что основная проблема с оптимизацией
запросов к ООБД связана с расширяемостью набора типов в такой
БД. Каждый новый тип вводит собственную алгебру, неизвестную
оптимизатору запросов. Например, оптимизатор не имеет
информации о возможной коммутативности двух операций типа и
т.д. Здоник полагает, что возможному решению проблемы
оптимизации могло бы способствовать формальное определение
алгебраических свойств операций типа при его разработке.
Примерно такой подход применяется в оптимизаторах, основанных
на наборе правил, применяемых в расширяемых СУБД (например,
[107]).
 
Как кажется, из последних публикаций, затрагивающих проблемы
оптимизации запросов, наибольшее влияние на оптимизаторы
систем ООБД может оказать [108]. Эта работа не связана
непосредственно со спецификой ООБД, но преимущество
предлагаемого подхода связано как раз с максимальной
независимостью от особенностей организации БД. Предлагается не
оценивать план выполнения запроса, а учитывать реальную
стоимость уже использованного плана и на этой основе изменять
критерии выбора оптимизатора. Может быть, таким образом
удастся справиться с неизвестной оптимизатору алгеброй
определяемых пользователями типов.
 
По нашему мнению, если в системе для программирования методов
применяется язык достаточно высокого уровня (во всяком случае,
не Си), то при компиляции запроса могло бы производиться
частичное вычисление вызываемых в нем методов с последующим
преобразованием запроса к виду, когда условия определены на
атрибутах хранимых классов. После этого можно было производить
обычную оптимизацию запроса. Заметим, что это не было бы
нарушением инкапсуляции объектов, поскольку оптимизатор
является частью системы, для которой внутренняя организация



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



Книжный магазин