title

text

T
Tatsuro Yamada NTT Comware Ведущий специалист по базам данных
16:00 06 февраля
22 мин

Настройка автопланировщика с использованием цикла обратной связи

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

Для того, чтобы решить эту проблему, я разработал инструмент под названием pg_plan_advsr - это расширение для PostgreSQL, которое исправляет ошибки оценки путем неоднократного возвращения в планировщик информации, собранной в ходе исполнения запроса.

Расширение содержит три фичи:

  1. Автоматическая оптимизация плана запроса за счет неоднократного возвращения информации о ходе выполнения запроса в планировщик.
  2. Сохранение всех выработанных при оптимизации планов запросов в таблицу истории.
  3. Создание и сохранение хинтов оптимизатора с тем, чтобы иметь возможность воспроизвести выработанные планы исполнения запросов в процессе настройки.

Я верифицировал эффективность pg_plan_advsr путем запуска join order benchmark (JOB) на PG 10.4, в ходе чего наблюдалось сокращение времени исполнения запроса до 50% от первоначального. Таким образом, расширение будет полезно пользователям, который хотят настроить планировщик для OLAP и пакетной обработки данных.

В ходе презентации я расскажу о следующие моментах:

  • Принципы построения и архитектура pg_plan_advsr.
  • Подробная информация о результатах тестирования JOB.
  • Направления улучшений в будущем.
  • Совместное использование расширений aqo и pg_plan_advsr together (экспериментальное).

Слайды

Видео

Другие доклады

  • Павел Труханов
    Павел Труханов okmeter.io CEO
    22 мин

    Мониторинг Postgres по USE и RED

    Есть две методологии перформанс мониторинга: USE (Utilization, Saturation, Errors) Брендана Грегга и RED (Requests, Errors, Durations) от Тома Уилки. В докладе я хочу рассказать о том, как мы на них ориентировались и продолжаем ориентироваться, когда реализуем мониторинг Postgres в okmeter.io.

  • Джигнеш Шах
    Джигнеш Шах Amazon Web Services Manager, RDS PostgreSQL
    45 мин

    Глубокое погружение во вселенную RDS PostgreSQL

    В ходе доклада мы с головой окунемся в пространство восхитительных возможностей службы Amazon RDS для PostgreSQL, включая новые версии релизов PostgreSQL, новые расширения, более крупные таблицы. Мы посмотрим на бенчмарки новых типов сущностей RDS и их ценность, на то, как работают высокая доступность и масштабируемость по чтению. Разберем уроки, которые мы вынесли из опыта управления большим парком сущностей с помощью PostgreSQL, включая важные настройки и возможные подводные камни, связанные с pg_upgrade.

  • Александр Федоров
    Александр Федоров dbeaver.com Директор по развитию
    Андрей Хитрин
    Андрей Хитрин RedSys Системный архитектор
    22 мин

    Самый важный инструмент: Xobot IDE

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

    Традиционно на хранимые процедуры возлагают множество задач: трудно устоять перед соблазном исполнить операцию над данными непосредственно в хранилище, особенно в Enterprise разработке. Такой подход довольно быстро приводит к размазыванию бизнес-логики по телу хранимых процедур и резко повышает стоимость поддержки и развития системы в целом.

    Особенности жизненного цикла хранимых процедур затрудняют применение стандартных инструментов и практик по контролю изменений. Необходимо адаптировать работу с хранимыми процедурами к стандартам Change Management, оставаясь в рамках привычных для разработчика действий.

    Мы рассмотрим проблемы разработки процедурных расширений и обсудим решения, которые мы реализуем в IDE XOBOT.

  • Ирина Фаст
    Ирина Фаст Сберобразование DBA
    22 мин

    Администрирование PostgreSQL глазами Oracle DBA

    Имея опыт администрирования Oracle, я обнаружила некоторые отличительные особенности в администрировании PostgreSQL, которыми я хотела бы поделиться с вами. Мы рассмотрим набор необходимых инструментов для администраторов баз данных, их возможности и полезность по сравнению с аналогами Oracle. Также я собираюсь обобщить основные различия между Oracle DB и PostgreSQL с точки зрения администрирования.