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

       

Эти четыре компонента могут действовать



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

Механизм замедленного обучения реализован с использованием DB2 Universal Database (UDB) для платформ Linux, Unix и Windows. Эксперименты с прототипом [18] показали, что мониторинг занимает менее 4% всего времени исполнения запроса, в то время как производительность может увеличиться на несколько порядков, особенно в тех случаях, когда оптимизатор «понимает», что нужно использовать метод массивного соединения, а не метод соединения на основе вложенных циклов, по причине большой мощности входных данных.

Безотлагательное обучение на основе обратной связи. Отслеженные данные о значениях мощности промежуточных результатов можно использовать не только для обработки последующих запросов. Если реальные значения мощности значительно отличаются от их оценок, выбранный план запроса может оказаться весьма неоптимальным. В рамках проекта LEO исследуется, как можно немедленно использовать эти знания путем динамической повторной оптимизации текущего запроса и изменения его плана выполнения, если все строки промежуточного результата материализуются до их использования в какой-либо точке плана.

Как правило, время ответа и память являются оптимизированными, если каждая строка полностью обрабатывается и возвращается пользователю конвейерным образом. Но иногда строки промежуточного результата должны быть полностью материализованы в виде отсортированной или не отсортированной временной таблицы (TEMP). Соответствующую точку QEP мы называем точкой материализации. Наличие таблиц TEMP обеспечивает естественную возможность подсчитать число строк и, возможно, повторно оптимизировать план прежде, чем какая-либо строка будет возвращена пользователю.

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