Ускорение быстрого текстового поиска с помощью индекса RUM
Быстрый текстовый поиск в PostgreSQL существенно ускоряется, если использовать обратные составные индексы по лексемам внутри типа tsvector. Индекс RUM - это свободное расширение, основанное на индексе GIN. Оно индексирует не только лексемы, но и их положение в текстовом поле, а также включает дополнительную информацию - вес лексемы, это позволяет полнее поддерживать возможности tsvector.
До недавних пор запросы с весами лексем в индексе RUM требовали перепроверки по таблице. Моя модификация (2020) в разы ускоряет такие запросы, делая их index-only.
В докладе будут представлены различные сценарии использования быстрого текстового поиска и применение индекса RUM для его существенного ускорения, а также бенчмарки по сравнению с встроенным в PostgreSQL индексом GIN.
Видео
Другие доклады
-
Fabrízio Mello OnGres Inc Разработчик PostgreSQLÁlvaro Hernández OnGres Founder
Сетевой фильтр PostgreSQL для EnvoyProxy
Как вы осуществляете мониторинг Postgres? Какую информацию вы собираете и насколько она помогает решать возникающие проблемы? Что если вам хочется или нужно логировать все запросы? Высоконагруженные базы данных могут выйти из строя при таком подходе.
В OnGres мы стараемся сделать СУБД PostgreSQL более прозрачной для мониторинга. Поэтому мы вместе с командой Tetrate работали над Сетевым фильтром Envoy для PostgreSQL, расширением, призванным обеспечить и улучшить прозрачность для мониторинга входящего трафика в кластерной инфраструктуре. Это бесплатное расширение с открытым исходным кодом доступно для всех участников сообщества. Вы можете использовать его везде, где пользуетесь Envoy. Оно позволит вам автоматически собирать статистику и устранять проблемы сетевого трафика. Данный доклад обеспечит глубокое погружение в декодирование протокола PostgreSQL и прокси-фильтры Envoy. В рамках этого выступления также будут рассмотрены все возможности сетевого фильтра, его развёртывание и использование в любом окружении.
Полезные ссылки:
-
Bo Peng SRAOSS, Inc. Japan Старший инженер-разработчик
Развёртывание PostgreSQL-кластера с балансировщиком запросов и мониторингом в Kubernetes
Kubernetes - это платформа оркестровки контейнеров с открытым исходным кодом для автоматизации развертывания, масштабирования и управления контейнерами приложений. В настоящее время все больше и больше приложений развертываются в контейнерах на Kubernetes.
Есть несколько решений для запуска кластера PostgreSQL на Kubernetes. Однако эти решения не предусматривают балансировку нагрузки. В этом выступлении я покажу вам, как объединить PostgreSQL-оператор с Pgpool-II для развертывания в Kubernetes кластера PostgreSQL с возможностью балансировки нагрузки.
Мониторинг - очень важная часть для любого реального продакшна. Хотя Kubernetes предоставляет базовый способ мониторинга состояния кластера PostgreSQL, этого недостаточно для управления кластером PostgreSQL в продакшне. Важным улучшением версии Pgpool-II 4.2 является возможность вывода более полезной статистики кластера PostgreSQL. В этом докладе я объясню, как отслеживать и визуализировать статистику кластера PostgreSQL в Prometheus для расширенного мониторинга кластера.
-
Daniele Varrazzo Codice Lieve Директор
psycopg3: как Питон полюбил Постгрес
На сегодняшний день Python является одним из наиболее часто используемых языков программирования в мире. Он прост в изучении и использовании и легко совместим с любыми известными сервисами и протоколами. psycopg2 - наиболее часто используемый драйвер PostgreSQL для Python: он обеспечивает хорошую производительность и делает взаимодействие между ЯП и СУБД максимально удобным.
За последние годы Python существенно изменился, и его первоклассная поддержка асинхронного программирования меняет способ написания новых программ. В PostgreSQL также было внесено множество изменений, поэтому требуется новое поколение драйвера, который позволит питонистам использовать все возможности Postgres по максимуму.
psycopg3 - это новое поколение наиболее часто используемой библиотеки-адаптера Python-PostgreSQL: она предлагает знакомый интерфейс и удобный процесс обновления, кроме того, она спроектирована для получения максимальной производительности от базы данных и ЯП: она поддерживает асинхронное программирование, связываемые переменные (prepared statements), двоичные параметры.
psycopg3 также экспериментирует с инновационной поддержкой JSONB и конвейерной обработкой запросов! Приходите и узнайте, что нового происходит на стыке вашего любимого языка программирования и базы данных!
-
Андрей Зубков Postgres Professional Руководитель группы систем мониторинга
Анализатор исторической нагрузки pg_profile/pgpro_pwr и его новые возможности
Речь пойдет о простом инструменте стратегического анализа исторической нагрузки. Расширение предназначено для поиска проблем производительности в базах данных Postgres. Расскажу о принципах работы расширения, его применимости, возможностях и развитии. У pg_profile появилась расширенная ветка pgpro_pwr, предназначенная для работы в дистрибутивах PostgresPro с расширенным набором статистик производительности. Покажу на простых примерах преимущества, доступные в базах PostgresPro Enterprise Edition и PostgresPro Standard Edition.