title

text

Дмитрий Васильев
Дмитрий Васильев Postgres Professional Инженер СУБД
15:00 04 февраля
45 мин

Масштабируемость PostgreSQL

В докладе рассказывается о результатах тестирования производительности PostgreSQL на современных Hi-End серверах. Основное внимание было уделено блокировкам для доступа к разделяемым данным и связанными с этим узкими местами. Целью тестирования было проверить пределы линейного read scalability при увеличении количества ядер выделяемых для PostgreSQL. Тестирование проводилось для различных версий БД (9.4, 9.5, 9.6), чтобы проверить нововведения, призванные повысить производительность на многопроцессорных архитектурах.

Слайды

Видео

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

  • Николай Рыжиков
    Николай Рыжиков Health Samurai CTO
    45 мин

    PL/v8 в медицине

    Мы разрабатываем медицинскую базу данных - fhirbase, основанную на PostgreSQL и современном стандарте обмена медицинской информацией FHIR. Первая версия была написана с использованием SQL и PL/PgSQL, однако она достигла предела своей сложности и была полностью переписанна на PLv8/javascript. В докладе я расскажу про архитектуру fhirbase и то, почему мы выбрали PLv8. Про комфортную среду разработки, которая позволяет разрабатывать код и тесты в Node.JS и потом деплоить этот код в PostgreSQL. Поделюсь проблемами, с которыми мы столкнулись. Порассуждаем о переиспользовании библиотек и эко-системы javascript для разработки бизнес-логики внутри PostgreSQL. Расскажу про идеи PostgREST и no-backend приложений на PostgreSQL.

  • Andres  Freund
    Andres Freund Citus Data
    45 мин

    Улучшая Buffer Manager

    Менеджер буферов Postgresql разработан достаточно давно и его возраст даёт о себе знать в некоторых аспектах. Мы обсудим, как он работает сейчас, каковы его недостатки, и что делается сейчас, чтобы их исправить.

    • Поиск в кеше обходится дорого
    • Таблица сопоставлений буфера организована в виде хеш-таблицы, что затрудняет эффективную реализацию предвыборки, совмещение операция записи и очистки содержимого кеша
    • Расширение отношений плохо масштабируется
    • Вытеснение из кеша неэффективно
    • При вытеснении из кеша замещаются неправильные буферы

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

    Ускорение исполнения запросов в PostgreSQL с использованием JIT-компилятора LLVM

    В настоящее время в 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.

  • Hyungjoo Lee
    Hyungjoo Lee Bitnine Solution Architecture Team Leader
    22 мин

    PostgreSQL в Корее

    Корейская группа пользователей PostgreSQL была относительно мала и неактивна многие годы. Однако недавно, в Корее стали происходить изменения. Компании начали искать альтернативы применяемым дорогостоящим проприетарным РСУБД в целях сокращения TCO. Эту тенденцию также поддержали правительственные организации. Мы, компания Bitnine, руководим этим процессом в Корее. В 2015 г. мы запустили первую версию нашего решения на базе PostgreSQL, Agens SQL. Мы переводим документацию PostgreSQL на корейский и ведём группу пользователей PostgreSQL, а также пытаемся участвовать в работе глобальной группы разработчиков PostgreSQL. Кроме того, в этом году планируется проведение первой корейской конференции PostgreSQL и руководить её организацией будем мы. На этом выступлении мы сообщим о текущем состоянии корейской группы пользователей PostgreSQL и рынка СУБД PostgreSQL в Корее. Мы также расскажем о нашей деятельности в Корее и об историях успешного перехода с проприетарных РСУБД на PostgreSQL.