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

       

и нерешенных проблем можно найти


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

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

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

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

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

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

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

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

объектах видны и некоторые атрибуты, и если условие выборки

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

известны внутренняя структура объектов и набор существующих

индексов, получает возможность выбора. Если же условие выборки

можно формулировать только через методы, при подходах ORION и

O2 единственным возможным способом выборки объектов класса

будет последовательный просмотр всех объектов этого класса.

Здоник отмечает, что основная проблема с оптимизацией

запросов к ООБД связана с расширяемостью набора типов в такой

БД. Каждый новый тип вводит собственную алгебру, неизвестную

оптимизатору запросов. Например, оптимизатор не имеет

информации о возможной коммутативности двух операций типа и

т.д. Здоник полагает, что возможному решению проблемы

оптимизации могло бы способствовать формальное определение

алгебраических свойств операций типа при его разработке.

Примерно такой подход применяется в оптимизаторах, основанных

на наборе правил, применяемых в расширяемых СУБД (например,

).

Как кажется, из последних публикаций, затрагивающих проблемы

оптимизации запросов, наибольшее влияние на оптимизаторы

систем ООБД может оказать . Эта работа не связана

непосредственно со спецификой ООБД, но преимущество

предлагаемого подхода связано как раз с максимальной

независимостью от особенностей организации БД. Предлагается не

оценивать план выполнения запроса, а учитывать реальную

стоимость уже использованного плана и на этой основе изменять

критерии выбора оптимизатора.

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