title

text

Julien Rouhaud
Julien Rouhaud Разработчик
11:30 06 февраля
45 мин

HypoPG 2: поддержка гипотетического секционирования в PostgreSQL

Декларативное секционирование было долгожданной фичей, которая претерпела улучшение с момента ее появления в релизе PostgreSQL 10. Однако для многих пользователей нахождение оптимальных схем секционирования, дающих наибольший эффект, все еще является нелегкой задачей. По этой причине мы добавили в HypoPG новую фичу гипотетического секционирования, которая помогает пользователям проектировать схему секционирования. В ходе презентации я сделаю небольшое введение в HypoPG и декларативное секционирование, а затем покажу применение гипотетического секционирования и объясню, как работает расширение.

Слайды

Видео

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

  • Джошуа Дрейк
    Джошуа Дрейк Command Prompt, Inc. Pioneer
    180 мин

    Производительность и эксплуатация Postgres

    Когда вы оптимизируете Postgres, обычно вопросы эксплуатации оказываются задвинуты на обочину. Каким образом наладить autovacuum? Почему bloat? Из-за чего я получаю IO spikes? Как мне заставить RDS правильно себя вести?! Почему коммиты при репликации происходят так медленно? Ответ на все эти вопросы лежит в понимании взаимосвязи между надлежащей эксплуатацией Postgres и его производительностью. Приглашаю присоединиться к увлекательному 3-часовому путешествию по хитрому миру отладки Postgres!

  • Андрей Фефелов
    Андрей Фефелов Mastery.pro Технический директор
    45 мин

    Как мы выбирали среди patroni, stolon, repmgr для нашего отказоустойчивого Постгреса

    Для одного из наших проектов понадобилось решать задачу построения отказоустойчивой БД, желательно к тому же географический распределенной.

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

    В докладе я расскажу о том, почему мы остановились на patroni, на какие грабли наступили и какие у него есть неочевидные, но прикольные штуки, которые сильно облегчают жизнь.

  • T
    Tatsuro Yamada NTT Comware Ведущий специалист по базам данных
    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 (экспериментальное).

  • Иван Панченко
    Иван Панченко Postgres Professional рзаместитель генерального директора
    90 мин

    NoSQL/PL: Программирование на не SQL-образных процедурных языках

    Мастер-класс по Server-Side разработке на процедурных языках PL/Perl ,PL/Python, PL/v8 в PostgreSQL и PostgresPro. Вы узнаете не только, для чего они нужны, но и как ими правильно пользоваться, и каких результатов можно достичь благодаря им.