VOPS: Векторное расширение Постгреса
СУБД Постгрес успешно используется во многих OLTP приложениях, выполняющих большое число простых запросов. Но для аналитики, требующей обработки большого количества данных, Постгрес на порядки отстаёт от специализированных СУБД, оптимизированных для массовой обработки данных. Скорость работы Постгреса для OLAP запросов сдерживается следующими факторами:
- Большие накладные расходы на распаковку записей.
- Затраты на интерпретацию запроса (Постгрес интерпретирует план выполнения запроса)
- Поддержка работы с абстрактными типами
- Недостатки PULL модели выполнения запроса
- Издержки MVCC
Все эти проблемы могут быть в большой степени решены за счёт использования векторного исполнителя запросов, который за одну операцию в состоянии обработать целый блок (вектор) значений. В этом докладе описывается способ добавления векторных операций в Посгрес, с помощью стандартного механизма расширения Посгреса, без внесения изменений в ядро. Такие механизмы Посгреса как UDT (определяемые пользователем типы), FDW (абстракция внешнего поставщика данных), расширения исполнителя запросов позволяют реализовать в Постгресе вертикальный таблицы, с которыми можно работать как с обычными таблицами. Но на порядки быстрее благодаря использованию векторных операций.
Слайды
Видео
Другие доклады
-
Брюс Момжиан EnterpriseDB Senior Database Architect
Изучаем CTE и оконные функции
От разработчиков часто требуются результаты, которые трудно получить обычными SQL-запросами. К счастью, стандартом SQL предусмотрены мощные средства - общие табличные выражения (CTE) и оконные функции, который весьма расширяют круг возможного.
SQL является декларативным языком, что означает, что пользователь только формирует запрос, с база данных определяет, как его следует оптимально исполнять. CTE позволяют запросам быть более императивными, дают возможность организовать циклы и обработку иерархических структур, что обычно делается только в императивных языках.
Обычные SQL-запросы возвращают наборы строк, в которых одна строка не зависит от других. Оконные функции позволяют добавлять в запрос поля, значения которых зависят от других строк.
Этот мастер-класс поможет прикладным разработчикам в использовании CTE, что позволит перенести часть логики из приложения в SQL-код, и разъяснит возможности оконных функций и особенности их использования.
Видео
Часть I «Programming the SQL Way with CTE»
Часть II «Postgres Window Magic»
-
Камиль Исламов Stickeroid Ai CTO
PostgreSQL и MQTT в качестве системы обработки IoT данных
MQTT - это эффективный протокол обмена данными для IoT устройств. Построенная с помощью доработанного EMQTT плагина, архитектура IoT проекта использует PostgreSQL в качестве центра обработки и хранения данных, поступающих от сенсоров в реальном времени. В докладе будет представлен пример решения программно-аппаратной платформы IoT, реализованного на базе протокола MQTT, где PostgreSQL выполняет ключевые функции, обеспечивая оперативный учёт, сбор и хранение данных от распределённой сети IoT устройств.
-
Сергей Стариков Кнопка Системный администраторКонстантин Хомяков Кнопка Системный администратор
Как перестать бояться стереотипов при выборе СУБД для 1С
Кнопка, крупнейший аутсорсинг бухгалтерии, расскажет о своем опыте перевода 500Gb баз 1С Fresh на PostgreSQL. В докладе затронуты темы выбора СУБД и борьбу со стереотипами, с чего мы начали и как развивали использование PostgreSQL, подходы к резервированию и восстановлению ИБ, наши текущие показатели работы СУБД и 1С, взгляд в будущее. Поделимся, почему мы считаем, что 1С+PostgreSQL это просто, надежно и быстро.
-
Андрей Бородин Яндекс Разработчик
Разработка дельта-копий в WAL-G
WAL-G - простой и эффективный инструмент для резервного копирования PostgreSQL в облака. По своей основной функциональности он является наследником популярного инструмента WAL-E, но переписанным на Go. Но в WAL-G есть одна важная новая особенность - дельта-копии. Дельта-копии WAL-G (где это возможно) хранят страницы файлов, изменившиеся с предыдущей версии резервной копии. В этом докладе я расскажу о том, как эту особенность разрабатывал.
Наиболее важным и сложным, как ни странно, являлся вопрос интерфейса: WAL-E - простой и понятный, это свойство хотелось сохранить в первую очередь. Технические детали реализации также готовили несколько неожиданных открытий. Кроме того, хотелось бы обсудить перспективы развития технологии и поговорить о взаимодействии и координации со стороны разработчиков инструментов резервного копирования.