title

text

Олег Иванов
Олег Иванов Postgres Professional Разработчик
11:00 17 марта
45 мин

Адаптивная оптимизация запросов в PostgreSQL

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

ВИДЕО

Слайды

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

  • Masahiko Sawada
    Masahiko Sawada NTT OSS Center
    45 мин

    Встроенный шардинг: текущее состояние и будущее

    Шардингом базы данных называют распределение данных по большому количеству серверов для повышения производительности при работе с большими объемами данных. С появлением технологии Foreign Data Wrappers (FDW), стало возможным рассматривать шардинг в постгресе при разумном объеме изменений программного кода. Я занимаюсь улучшением инфраструктуры FDW, в т.ч. наследованием внешних таблиц и push-down запросов, что позволяет постгресу эффективно исполнять распределенные запросы через FDW. В этом докладе мы рассмотрим шардинг на FDW и его сценарии использования, затем я продемонстрирую, как организовать шардинг, и покажу, что для этого было сделано в постгресе. В заключение мы рассмотрим основные планы на будущее - в первую очередь, это асинхронное исполнение запросов и поддержка распределенных транзакций.

  • Егор Рогов
    Егор Рогов Postgres Professional эксперт
    90 мин

    ProBackup: быстро, надежно, инкрементально

    Современное состояние средств резервного копирования для PostgreSQL определенно оставляет простор для улучшений. Штатные средства дают исключительно базовую функциональность, сторонние инструменты решают некоторые, но не все, проблемы. Для того, чтобы резервная копия была надежной, могла выполняться быстро и инкрементально на уровне страниц, нужна в том числе и поддержка со стороны базы данных. На мастер-классе мы расскажем про новый инструмент резервного копирования и восстановления ProBackup, который мы разрабатываем в нашей компании, и покажем его в действии.

    Скрипт демонстрации:

    ФОТО:

  • Дмитрий Лебедев
    Дмитрий Лебедев BestPlace Разработчик-исследователь ГИС
    90 мин

    Исследования геоданных при помощи PostGIS и смежных инструментов

    Сегодня работая с открытыми данными можно сделать интересные исследования в области городской среды и географии, с перспективными и нетривиальными выводами. В докладе я дам примеры пространственных расчётов на PostGIS — фактическом пром стандартом в области.

    Но одного PostGIS мало, и в работе требуются инструменты для импорта, проверки и визуализации данных. Кроме того критически важно видеть что происходит с нашими данными и сокращать итерации работы, о чём я подробно расскажу.

    1. Сбор данных; базы данных, открытые API, OpenStreetMap; ввод геоданных от пользователя.
    2. Применение сторонних API для расчётов и обработки.
    3. Вывод и визуализация результатов: QGIS, Matplotlib, Zeppelin — интеграция с PostGIS.
    4. Отладка расчётов - визуализация "на лету" (Arc, QGIS, NextGIS Web)
    5. Воспроизводимость и автоматизация действий: скриптинг и отслеживание зависимостей на Makefile, Gulp

  • Дмитрий Мельник
    Дмитрий Мельник ИСП РАН разработчик
    22 мин

    Динамическая компиляция SQL-запросов в PostgreSQL с использованием LLVM JIT

    В данный момент в PostgreSQL для исполнения SQL-запросов применяется интерпретатор, реализующий модель итераторов (Volcano-модель). В то же время можно добиться существенного ускорения, выполняя динамическую компиляцию запроса «на лету». В этом случае можно генерировать код, специализированный для конкретного SQL-запроса, а также применять компиляторные оптимизации, учитывая, что во время выполнения уже известна структура используемых таблиц и типы данных. Такой подход особенно актуален для сложных запросов, скорость выполнения которых ограничена производительностью процессора.