Настройка автопланировщика с использованием цикла обратной связи
При 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 (экспериментальное).
Слайды
Видео
Другие доклады
-
Олег Бартунов Postgres Professional генеральный директор
Профессиональный постгрес
Известнейший российский разработчик PostgreSQL Олег Бартунов откроет конференцию своим докладом том, как и почему из университетского open source проекта PostgreSQL превратился в современную индустриальную базу данных.
-
Иван Муратов ООО "Первая Мониторинговая Компания" Технический директор
PostgreSQL + PostGIS + TimescaleDB - хранилище для систем мониторинга транспорта
PostgreSQL + PostGIS + TimescaleDB - это готовый к эксплуатации симбиоз из надежной РСУБД, мощного набора географических объектов и вычислений и работа с time-series данными. Данная связка прекрасно решает проблему хранения телеметрии, при этом оставляя в ваших руках всю экосистему PostgreSQL.
-
Джигнеш Шах Amazon Web Services Manager, RDS PostgreSQL
Секреты работы со службой Amazon RDS для PostgreSQL
Услуги управляемых служб баз данных набирают популярность. В ходе доклада мы посмотрим, как наилучшим образом сконфигурировать службу Amazon RDS для PostgreSQL, и разберем наиболее частые команды RDS. Мы также заглянем за пределы привычных пользовательских операций и рассмотрим несколько вариантов оптимизации, связанных с обновлением, логической репликацией, повышением производительности и сокращением времени простоя PostgreSQL.
-
Дорофей Пролесковский Juno GIS Engineer
PostGIS от катастроф
PostGIS - расширение PostgreSQL для обработки пространственных данных.
В этом докладе будет подробно рассмотрено, какие его функции и как применять для работы с информацией о катаклизмах.