Оптимизация запросов к данным типа “множество” с помощью индексов GIN, GiST, и пользовательских расширений для индексирования
Очевидно, что множества удобно использовать в различных типах приложений. Хотя в PostgreSQL и нет встроенного типа для множеств, до некоторой степени их можно смоделировать с помощью встроенных типов “массив” и “JSONB”. Кроме того, возможность ускорения запросов с операциями вхождения уже встроена в реализацию индексов GIN.
После краткого обзора существующей функциональности, мы рассмотрим, как добавление пользовательских типов “множество” и, в частности, модификация кода на С ("классы операторов") для индексов GIN и GiST, может повысить производительность.
Слайды
Другие доклады
-
Андрей Фефелов Mastery.pro Технический директор
Postgres как основа BI платформы, особенности, практический опыт
В докладе я расскажу почему Postgres отлично подходит как BI платформа для решения классических OLAP-задач.
Будет дан краткий обзор доступных open source BI решений. Расскажу об архитектуре нашего решения (snowflake scheme), как мы делаем Extract Load Transform, настройках Postgres для специфических профилей нагрузки. Также упомяну о том, как мы пытались использовать Postgres в виде колоночной базы данных (cstore_fdw от Citus) и что из этого вышло. В конце доклада кратко расскажу про минусы и проблемы нашего подхода.
ВИДЕО
-
Alvaro Hernandez 8Kdata CTO
PostgreSQL и Java: мастер-класс
Java – один из наиболее популярных языков программирования для СУБД PostgreSQL. На этом мастер-классе вы узнаете основные способы соединения с postgres и лучшие методики программирования по стандарту JDBC, а также познакомитесь с jOOQ – менеджером памяти, позволяющим использовать все возможности SQL и postgres для построения сложных запросов, не используя при этом шаблонный код.
Мастер-класс будет носить практический характер: большую часть времени мы посвятим разбору примеров кода. Мы рассмотрим следующие темы:
- Введение в Java и PostgreSQL.
- Варианты соединения с PostgreSQL из Java-приложения (и не только с помощью JDBC!)
- Введение в JDBC. Типы JDBC. PostgreSQL JDBC
- Демонстрация кода: JDBC и PostgreSQL. От Java 1.4 к Java 8, лучшие практики и примеры кода.
- Демонстрация кода: jOOQ, менеджер памяти для PostgreSQL.
- Java в PostgreSQL.
- Будущее Java и PostgreSQL.
-
Дмитрий Юхтимовский Gilev.ru технический лидер
Поиск проблемного кода 1С на СУБД PostgreSQL
- Особенности взаимодействия 1С:Предприятие 8 и PostgreSQL 9 1.1 Изменения в редакциях платформы 1С 1.2 Схемы v81c_data и v81c_index 1.3 Трансляция запросов 1С в SQL 1.4 События технологического журнала 1С для диагностики PostgreSQL
- Анализ запросов, вызывающих проблемы производительности в PostgreSQL 2.1 Бесплатный инструмент для автоматизации разбора логов 2.2 Правило Парето на практике 2.3 Установка и настройка инструмента 2.4 Практический пример оптимизации запроса 2.4.1 Проблема в запросе PostgreSQL 2.4.2 Выяснение нерациональных операций в запросе 2.4.3 Способы устранения неоптимальностей
- Статистка PostgreSQL для диагностики производительности 3.1 Сравнение с возможностями MS SQL Server, различия 3.2 Диагностика блокировок 3.3 Диагностика рабочей нагрузки 4 Примеры из практики команды gilev.ru
-
Павел Лузанов Postgres Professional Руководитель образовательных программ
Обзор средств для отладки, профилирования и трассировки серверного кода
Отладка, профилирование и трассировка выполняемых команд являются важной частью процесса разработки любых приложений. Это актуально и при разработке хранимых процедур в СУБД.
PostgreSQL предлагает различные инструменты (как встроенные, так и сторонние) для решения этих задач.
В докладе представлен обзор имеющихся средств, с описанием сильных и слабых сторон. А также подробная демонстрация примеров использования.
Представленный материал является частью базового курса для разработчиков серверной части приложения (DEV1), который компания “Постгрес Профессиональный” планирует анонсировать в ближайшее время.
Материалы к мастер-классу: