title

text

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

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

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

Слайды

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

  • Олег Бартунов
    Олег Бартунов Postgres Professional генеральный директор
    22 мин

    JSON в PostgreSQL: дорожная карта

    В прошлом году был принят стандарт ISO/IEC 9075-2:2016, в котором наконец-то был стандартизирован синтаксис и семантика JSON и операций над ним в языке SQL. В докладе будет рассказано о требованиях этого стандарта и чем они отличаются от реализации JSON/JSONB в PostgreSQL, в частности, о JSON Path (аналог XPath для XML), о SQL/JSON функциях и о том, что мы планируем сделать в PostgreSQL для соответствия стандарту.

    ВИДЕО

  • Markus Nullmeier
    Markus Nullmeier University of Heidelberg software developer
    45 мин

    Оптимизация запросов к данным типа “множество” с помощью индексов GIN, GiST, и пользовательских расширений для индексирования

    Очевидно, что множества удобно использовать в различных типах приложений. Хотя в PostgreSQL и нет встроенного типа для множеств, до некоторой степени их можно смоделировать с помощью встроенных типов “массив” и “JSONB”. Кроме того, возможность ускорения запросов с операциями вхождения уже встроена в реализацию индексов GIN.

    После краткого обзора существующей функциональности, мы рассмотрим, как добавление пользовательских типов “множество” и, в частности, модификация кода на С ("классы операторов") для индексов GIN и GiST, может повысить производительность.

  • Дмитрий Вагин
    Дмитрий Вагин Avito Lead Engineer
    22 мин

    Мониторинг PostgreSQL в Авито, с примерами

    Небольшой доклад о том как Avito собирает и мониторит нагрузку на базы данных. Отправка метрик из хранимых процедур в Graphite. Сбор метрик pg_stat* и отображение их в Grafana. Примеры из жизни.

    ВИДЕО

  •  Jasonysli
    Jasonysli Tencent Chief PostgreSQL Architect of Tencent Cloud Service
    45 мин

    Как Tenсent использует Postgres XC в платежной системе WeChat

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