VOPS: Векторное расширение Постгреса
СУБД Постгрес успешно используется во многих OLTP приложениях, выполняющих большое число простых запросов. Но для аналитики, требующей обработки большого количества данных, Постгрес на порядки отстаёт от специализированных СУБД, оптимизированных для массовой обработки данных. Скорость работы Постгреса для OLAP запросов сдерживается следующими факторами:
- Большие накладные расходы на распаковку записей.
- Затраты на интерпретацию запроса (Постгрес интерпретирует план выполнения запроса)
- Поддержка работы с абстрактными типами
- Недостатки PULL модели выполнения запроса
- Издержки MVCC
Все эти проблемы могут быть в большой степени решены за счёт использования векторного исполнителя запросов, который за одну операцию в состоянии обработать целый блок (вектор) значений. В этом докладе описывается способ добавления векторных операций в Посгрес, с помощью стандартного механизма расширения Посгреса, без внесения изменений в ядро. Такие механизмы Посгреса как UDT (определяемые пользователем типы), FDW (абстракция внешнего поставщика данных), расширения исполнителя запросов позволяют реализовать в Постгресе вертикальный таблицы, с которыми можно работать как с обычными таблицами. Но на порядки быстрее благодаря использованию векторных операций.
Слайды
Видео
Другие доклады
-
Михаил Балаян Acronis Chief Database Architect
MVCC в картинках и когда длинные транзакции - это проблема
Многие из нас знают о том, что именно MVCC обеспечивает многопользовательский доступ к данным во многих реляционных базах данных, которые гарантируют согласованность и изолированность транзакций. Но именно глубокое понимание реализации этого механизма в PostgreSQL позволяет нам лучше понимать процессы, происходящие в базе, проектировать логику работы приложений и структуры таблицы, чтобы быть наиболее эффективными в мире высоких нагрузок. На примере одного из процессов в нашем продукте мы разберемся в том, как реализована MVCC в PostgreSQL и раскопаем одну из особенностей, когда казалось бы, несвязанные активности могут влиять друг на друга.
-
Олег Бартунов Postgres Professional генеральный директорНикита Глухов Postgres Professional Разработчик
"Умное" индексирование jsonb
PostgreSQL имеет репутацию универсальной СУБД,то есть базы данных, с которой можно стартовать практически любой проект, так как она имеет богатую функциональность,отличную репутацию и большое сообщество. Ее расширяемость позволяет добавлять недостающие функции силами прикладных программистов без остановки системы.
Я расскажу про то, как мы в Postgres Professional улучшили работу с индексами, а именно, добавили возможность использования параметров для их создания. В качестве примера, я расскажу про "умное" индексирование jsonb с помощью нашего расширения jsquery. "Умное" индексирование означает, что можно задавать подмножество jsonb для индексирование с помощью jspath,нового типа данных jsquery, который можно будет указывать в качестве параметра при создании индекса. Таким образом, индекс будет меньше,что положительно скажется на производительности запросов и лучшей конкурентности. Кроме того, параметры к оп классам позволят гибче работать с уже существующими индексами, а также помогут при индекскации jsonb с помощью jsonpath из ожидаемого SQL/JSON.
-
Камиль Исламов Stickeroid Ai CTO
PostgreSQL и MQTT в качестве системы обработки IoT данных
MQTT - это эффективный протокол обмена данными для IoT устройств. Построенная с помощью доработанного EMQTT плагина, архитектура IoT проекта использует PostgreSQL в качестве центра обработки и хранения данных, поступающих от сенсоров в реальном времени. В докладе будет представлен пример решения программно-аппаратной платформы IoT, реализованного на базе протокола MQTT, где PostgreSQL выполняет ключевые функции, обеспечивая оперативный учёт, сбор и хранение данных от распределённой сети IoT устройств.
-
Olivier Courtin DataPink Owner & DataScientist
Мастер-класс: продвинутый анализ пространственных данных с помощью PostgreSQL, PostGIS и Python
На мастер-классе будут рассмотрены: продвинутый анализ пространственных данных на чистом PostGIS, включая новейшие функции PostGIS; приведение в соответствие разных типов данных в PostgreSQL и Python (массивы в NumPy, таблицы в Pandas); секреты эффективной работы с инструментами и средами обработки данных (Jupyter, dataviz и др.); дальнейшее развитие с помощью GeoDataScience, библиотек и фреймворков Python, сочетаемых с PostgreSQL/PostGIS, включая технологии машинного и глубокого обучения.