title

text

Константин Книжник
Константин Книжник Postgres Professional Ведущий разработчик
: декабря
45 мин

VOPS: Векторное расширение Постгреса

СУБД Постгрес успешно используется во многих OLTP приложениях, выполняющих большое число простых запросов. Но для аналитики, требующей обработки большого количества данных, Постгрес на порядки отстаёт от специализированных СУБД, оптимизированных для массовой обработки данных. Скорость работы Постгреса для OLAP запросов сдерживается следующими факторами:

  • Большие накладные расходы на распаковку записей.
  • Затраты на интерпретацию запроса (Постгрес интерпретирует план выполнения запроса)
  • Поддержка работы с абстрактными типами
  • Недостатки PULL модели выполнения запроса
  • Издержки MVCC

Все эти проблемы могут быть в большой степени решены за счёт использования векторного исполнителя запросов, который за одну операцию в состоянии обработать целый блок (вектор) значений. В этом докладе описывается способ добавления векторных операций в Посгрес, с помощью стандартного механизма расширения Посгреса, без внесения изменений в ядро. Такие механизмы Посгреса как UDT (определяемые пользователем типы), FDW (абстракция внешнего поставщика данных), расширения исполнителя запросов позволяют реализовать в Постгресе вертикальный таблицы, с которыми можно работать как с обычными таблицами. Но на порядки быстрее благодаря использованию векторных операций.

Слайды

Видео

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

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

    Мастер-класс: Больше индексов, хороших и разных

    "Не мог он GIN от SP-GiST-а, как мы ни бились, отличить", говорил классик. А вы можете? Этот мастер-класс посвящен индексам, которые хоть и не так часто используются, как обычное B-дерево, но могут сильно выручить в трудную минуту. Мы посмотрим, как устроены эти индексы и в каких случаях они могут быть успешно применены. Заодно поговорим и об особенностях индексного доступа в PostgreSQL. Чтобы провести время с пользой, от слушателей потребуется некоторое знакомство с PostgreSQL и умение читать планы несложных запросов.

    Материалы мастер-класса

    Резервную копию БД с демонстрационными данными можно скачать тут:

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

    Использование PostgreSQL и Сlojure для разработки приложений, ориентированных на работу с базами данных

    Если честно взглянуть на большинство наших бизнес-приложений, то они через провод собирают данные в базу и раздают их в обратном направлении. Что, если не пытаться воздвигать стену абстракций между приложением и базой данных (ORM), а постараться использовать их симбиоз - сильные стороны и индивидуальные особенности.

    Я расскажу как мы используем postgresql и clojure для создания data intensive приложений для медицины.

    • functional relational programming
    • jsonb для моделирования сложной предметной области
    • функциональные индексы и расширение json-knife для поиска в jsonb
    • реализация graphql на postgres
    • logical replication для построения реактивных интеграций
    • асинхронный JDBC-free коннектор к postgresql на netty

  • Антон Дорошкевич
    Антон Дорошкевич Инфософт Руководитель отдела ИТ
    45 мин

    1С-Батл. PostgreSQL vs MS SQL

    Сравнение возможностей PostgreSQL и MS SQL для работы с 1С. Что даёт pg_restore для 1С-ника. Результаты нагрузочного тестирования "Восстановления последовательности партионного учёта" на базе 1С размером более 1 ТБ. 2 года, 500+ баз 1С, 4ТБ данных, Каскадная репликация - История одного Production 1C

  • Андрей Сальников
    Андрей Сальников Data Egret DBA
    45 мин

    Практика обновления версий PostgreSQL

    В большинстве своем, системные администраторы и ДБА бояться как огня делать мажорные обновления версий баз данных (RDBMS), особенно если эта база данных в эксплуатации и имеет достаточно высокую нагрузку. Главной причиной тому некоторый даунтайм базы данных, который всегда подразумевается при планировании таких работ.

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

    В Data Egret мы накопили огромный опыт проведения мажорных апгрейдов PostgreSQL в проектах, где нет права на ошибку. Я поделюсь своим опытом и расскажу о следующих шагах процесса: как правильно подготовиться к upgrade-у PostgreSQL? что необходимо сделать на этапе подготовки? как запланировать последовательность действий на сам upgrade? как провести процедуру upgrade-а успешно, без возврата на предыдущую версию бд? как минимизировать или вообще избежать простоя всей системы во время upgrade-а? какие действия необходимо выполнить после успешного upgrade-а PostgreSQL? Я также расскажу про две наиболее популярные процедуры апгрейда PostgreSQL - pg_upgrade и pg_dump/pg_restore, плюсы и минусы каждого из методов и расскажу про все типичные проблемы на всех этапах этой процедуры, и как их избежать.

    Доклад будет интересен как новичкам так и тем ДБА которые уже давно работают с PostgreSQL, но хотят побольше узнать о том как правильно планировать и проводить upgrade максимально безболезненно.