Настройка автопланировщика с использованием цикла обратной связи
При OLAP и пакетной обрабокте данных часто наблюдается ситуация, что чем сложее запрос (содержит много джойнов, фильтров и аггрегативных функций), тем выше вероятность ошибок в оценке количества строк, в результате чего планировщик выбирает неэффективный план исполнения запроса.
Для того, чтобы решить эту проблему, я разработал инструмент под названием pg_plan_advsr - это расширение для PostgreSQL, которое исправляет ошибки оценки путем неоднократного возвращения в планировщик информации, собранной в ходе исполнения запроса.
Расширение содержит три фичи:
- Автоматическая оптимизация плана запроса за счет неоднократного возвращения информации о ходе выполнения запроса в планировщик.
- Сохранение всех выработанных при оптимизации планов запросов в таблицу истории.
- Создание и сохранение хинтов оптимизатора с тем, чтобы иметь возможность воспроизвести выработанные планы исполнения запросов в процессе настройки.
Я верифицировал эффективность pg_plan_advsr путем запуска join order benchmark (JOB) на PG 10.4, в ходе чего наблюдалось сокращение времени исполнения запроса до 50% от первоначального. Таким образом, расширение будет полезно пользователям, который хотят настроить планировщик для OLAP и пакетной обработки данных.
В ходе презентации я расскажу о следующие моментах:
- Принципы построения и архитектура pg_plan_advsr.
- Подробная информация о результатах тестирования JOB.
- Направления улучшений в будущем.
- Совместное использование расширений aqo и pg_plan_advsr together (экспериментальное).
Слайды
Видео
Другие доклады
-
Ирина Фаст Сберобразование DBA
Администрирование PostgreSQL глазами Oracle DBA
Имея опыт администрирования Oracle, я обнаружила некоторые отличительные особенности в администрировании PostgreSQL, которыми я хотела бы поделиться с вами. Мы рассмотрим набор необходимых инструментов для администраторов баз данных, их возможности и полезность по сравнению с аналогами Oracle. Также я собираюсь обобщить основные различия между Oracle DB и PostgreSQL с точки зрения администрирования.
-
Павел Лузанов Postgres Professional Руководитель образовательных программ
Обучение и сертификация: что нового и ближайшие планы
В сентябре 2015 года компания "Постгрес Профессиональный" выпустила первый учебный курс "DBA1.Администрирование PostgreSQL. Базовый курс". Курс основывался на актуальной тогда версии PostgreSQL 9.4. С тех пор вышло несколько новых курсов, да и СУБД PostgreSQL не стояла на месте.
В докладе будет представлена текущая линейка курсов для администраторов и разработчиков приложений. А также планы по развитию на ближайшее будущее, включая сертификацию специалистов.
-
Дмитрий Белявский ТЦИ Ведущий специалистФедор Сигаев Postgres Professional технический директор, ведущий разработчик PostgreSQL
LTREE: расширяем синтаксис
В конце прошлого года мне поступил заказ на доработку расширения ltree с более полным набором символов. Доклад рассказывает о
- изначальном состоянии расширения
- расширенном синтаксисе
- процессе доработки и тестирования расширения.
-
Иван Муратов ООО "Первая Мониторинговая Компания" Технический директор
PostgreSQL + PostGIS + TimescaleDB - хранилище для систем мониторинга транспорта
PostgreSQL + PostGIS + TimescaleDB - это готовый к эксплуатации симбиоз из надежной РСУБД, мощного набора географических объектов и вычислений и работа с time-series данными. Данная связка прекрасно решает проблему хранения телеметрии, при этом оставляя в ваших руках всю экосистему PostgreSQL.