Пост-релиз
Доклады
Архив докладов
-
Дмитрий Мельник ИСП РАН разработчикВ настоящее время в PostgreSQL для исполнения SQL-запросов используется интерпретатор. Это приводит к накладным расходам, связанным с неявными вызовами функций-обработчиков и проверок, которых можно было бы избежать при создании исполняемого кода "на лету" (JIT-компиляции) под конкретный SQL-запрос: в этом случае во время выполнения уже известна структура используемых таблиц и типы данных. Особенно это актуально для сложных запросов, где производительность процессора является основным ограничением. В настоящий момент существует два известных проекта, реализующих JIT-компиляцию в PostgreSQL: коммерческое решение Vitesse DB и open-source проект PGStorm. В первом проекте за счет использования LLVM JIT авторам удается получить ускорение до 8 раз на тестах из набора TPC-H. Второй проект реализует JIT-компиляцию запроса с использованием CUDA для исполнения его на GPU, что позволяет ускорить выполнение некоторых типов запросов на порядок.
Наша работа посвящена добавлению поддержки JIT-компиляции SQL-запросов в PostgreSQL с использованием компиляторной инфраструктуры LLVM. В докладе будет подробно рассмотрено, как JIT-компиляция может быть использована для ускорения различных этапов исполнения SQL-запросов, а также особенности трансляции SQL-запросов в LLVM-биткод для получения эффективного исполняемого кода. Также будут представлены предварительные результаты тестирования JIT-компилятора на наборе тестов TPC-H.
-
Andres Freund Citus DataМенеджер буферов Postgresql разработан достаточно давно и его возраст даёт о себе знать в некоторых аспектах. Мы обсудим, как он работает сейчас, каковы его недостатки, и что делается сейчас, чтобы их исправить.
- Поиск в кеше обходится дорого
- Таблица сопоставлений буфера организована в виде хеш-таблицы, что затрудняет эффективную реализацию предвыборки, совмещение операция записи и очистки содержимого кеша
- Расширение отношений плохо масштабируется
- Вытеснение из кеша неэффективно
- При вытеснении из кеша замещаются неправильные буферы
-
Дмитрий Юхтимовский Gilev.ru технический лидерДоклад для тех, кто уже использует постгрес для 1С, а также для тех, кто только раздумывает - использовать ли. Расскажем о том, почему в компании Gilev.ru выбрали PostgreSQL для своих больших баз онлайн-сервисов, как его используют. Как с использованием этих сервисов помогают решать проблемы производительности баз на 1С, с которыми сталкиваются или могут столкнуться клиенты.
-
Alvaro Hernandez 8Kdata CTOJava - наиболее часто используемый язык программирования в мире. Как же он поддерживается в PostgreSQL? Какие в нем есть подводные камни и каковы лучшие практики? Java продолжает развиваться, как это сказывается на ее использовании в PostgreSQL?
Несмотря на солидный возраст языка Java, он силен как никогда. Фактически, это язык программирования мира enterprise. И с выхода Java 8, он вернулся в мир стартапов и open source. И сейчас Java становится наиболее распространенным языком для обращения к PostgreSQL.
В этом докладе будет разобрано, как была в прошлом, и, что важнее, как в настоящем, организована работа с PostgreSQL из Java: JDBC, PL/Java и другие, реже используемые средства.
Затем мы заглянем в будущее, чтобы понять, что сейчас ещё разрабатывается, как например новый реактивный драйвер Phoebe для доступа из Java в PostgreSQL, ориентированный на кластеры, конвейерные запросы и полностью асинхронный не JDBC интерфейс. Рассмотрим также, что должно быть сделано на серверной стороне, чтобы Java могла стать основным языком серверного программирования для PostgreSQL.
Фотографии
Архив фотографий