Ускорение быстрого текстового поиска с помощью индекса RUM
Быстрый текстовый поиск в PostgreSQL существенно ускоряется, если использовать обратные составные индексы по лексемам внутри типа tsvector. Индекс RUM - это свободное расширение, основанное на индексе GIN. Оно индексирует не только лексемы, но и их положение в текстовом поле, а также включает дополнительную информацию - вес лексемы, это позволяет полнее поддерживать возможности tsvector.
До недавних пор запросы с весами лексем в индексе RUM требовали перепроверки по таблице. Моя модификация (2020) в разы ускоряет такие запросы, делая их index-only.
В докладе будут представлены различные сценарии использования быстрого текстового поиска и применение индекса RUM для его существенного ускорения, а также бенчмарки по сравнению с встроенным в PostgreSQL индексом GIN.
Видео
Другие доклады
-
Иван Чувашов ООО Calltouch DBA
Жизнь DBA в онлайн-кинотеатре "OKKO"
Okko — один из самых больших легальных онлайн-кинотеатров в России. В нашем каталоге представлено 60 000 фильмов, мультфильмов и сериалов. С момента запуска сервис посетили более 20 млн пользователей. Ежемесячная аудитория составляет 2,8 млн человек Все эти цифры говорят о надежном высоконагруженном сервисе.
В своем докладе я, как DBA, буду говорить преимущественно о базах данных (PostgreSQL, Cassandra, Redis), которые используются в компании. Подробно рассмотрим PostgreSQL на темы высоких нагрузок, мониторинга, оптимизации, резервного копирования и восстановления.
-
Артём Картасов Postgres.ai Software Engineer
Над пропастью WAL-G
Что мы ожидаем от системы резервного копирования? Что отличает хорошую систему бэкапов? И самое главное - как выбрать для этого процесса подходящие инструменты? При подготовке резервных копий возникает немало насущных вопросов.
В докладе я расскажу историю построения системы снятия и верификации бэкапов в отдельно взятой компании. Обсудим вопросы выбора инструмента по работе с резервными копиями, адаптации к изменяющимся реалиям, проблемы облачных хранилищ и безграничные возможности open-source коллаборации.
Приглашаю вас в увлекательное путешествие длиной 2 года.
-
Максим Орлов Postgres Professional разработчик
Горячее минорное обновление в Postgres Pro13
Обновление минорных версий Postgres Pro без остановки сервера и остановки активных сессий.
-
Robert Haas EnterpriseDB Вице-президент, руководитель исследований в сфере СУБД
Повреждение данных: как его избежать, обнаружить и обеспечить восстановление
Повреждение данных в PostgreSQL может происходить по ряду причин, в числе которых аппаратные ошибки, программные сбои и ошибки пользователя. В данном докладе я расскажу о своём опыте работы с повреждёнными базами. В частности, я упомяну о частых причинах повреждения данных в базе, среди которых процедурные ошибки при снятии резервных копий или восстановлении из них. Также я остановлюсь на частых последствиях повреждения данных в базе - например, ошибках, которые говорят о несоответствии между таблицей и ее индексами либо таблицей и TOAST-таблицей. Также я уделю некоторое внимание техникам, которые используют для восстановления базы или исправления ошибок после повреждения данных, в том числе моему опыту использования pg_resetxlog. Основой для данного доклада послужили реальные кейсы, с которыми я сталкивался в ходе работы с клиентами EnterpriseDB. Надеюсь, что они будут полезны разработчикам PostgreSQL для возможных улучшений этой СУБД, а пользователи получат представление о том, как избежать повреждения данных, обнаруживать его, если оно произошло, и справляться с ним.