Методы оптимизации выполнения запросов в реляционных СУБД


Введение - часть 4


Заметим, что оптимизации запросов в реляционных СУБД посвящены несколько обзорных работ. На русском языке в настоящее время доступны книги Дейта [16], Ульмана [17] и Мейера [18], в которых проблемам оптимизации посвящены отдельные главы. При этом материал в [17-18] излагается на более формальном уровне и касается меньшего количества проблем. Более современные работы рассматриваются в последнем издании книги Дейта [19]. Наконец, наиболее полный, на наш взгляд, обзор подходов и методов оптимизации запросов содержится в статье [20]. Тем не менее, мы считаем полезным написание еще одной обзорной статьи, поскольку в последнее время появился ряд новых и интересных работ, связанных с тематикой оптимизации в реляционных СУБД. Кроме того, как мы уже отмечали, в этой статье рассматривается более широкий класс проблем.

Статья имеет следующую структуру. В первом (самом большом) разделе мы рассмотрим проблемы и решения в области локальной оптимизации запросов в реляционных СУБД (далее мы будем называть эту область просто оптимизацией запросов). Здесь мы коснемся следующих проблем: проблемы преобразования запросов в их непроцедурном представлении и, в частности, проблемы семантической оптимизации; проблемы выбора и оценки стоимости альтернативных планов выполнения запросов; наконец, проблемы увеличения гибкости оптимизатора по отношению к внедрению новых стратегий выполнения элементарных запросов.

Во втором разделе мы приведем обзор работ, связанных с выработкой более эффективных алгоритмов выполнения реляционных операций. Главным образом нас будут занимать эффективные алгоритмы выполнения соединений, но, кроме того, мы рассмотрим и работы, связанные с оптимизацией алгоритмов вычисления агрегатных функций. Коротко будут рассмотрены предложения по аппаратному распараллеливанию реляционных операций.

В третьем разделе мы остановимся на специфике оптимизации в распределенных реляционных СУБД. В каком-то смысле третий раздел является объединением первых двух, но применительно к распределенным системам.При этом, чтобы избежать повторений, мы сконцентрируемся именно на специфических чертах реляционных распределенных СУБД.

Наконец, в завершающем, четвертом разделе (самом коротком) мы рассмотрим предпосылки и имеющиеся подходы к глобальной оптимизации систем запросов, затронув при этом специфические черты логической оптимизации в системах баз данных, допускающих рекурсивные определения отношений (дедуктивных базах данных).

В заключение мы выделим наиболее важные практически, на наш взгляд, направления, связанные с оптимизацией выполнения запросов в реляционных СУБД.

|




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



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