Узкие места PostgreSQL
Хорошо, когда база работает предсказуемо. Если сервер не справляется с нагрузкой, то только знай добавляй процессорные ядра, терабайты оперативной памяти и миллионы IOPS'ов – всё станет хорошо. Гораздо неприятнее, когда у сервера куча свободных ресурсов, но база данных всё равно тормозит. И особенно обидно, когда при нагрузочном тестировании всё работало как часы, а при реальной нагрузке такого же объёма – встаёт колом.
В данном докладе я разберу "узкие места" постгреса, которые нам приходилось встречать в реальной жизни, и которые приводили к печальному поведению, как описано выше. Расскажу о том, что можно сделать на пользовательском уровне, что эти "узкие места" обойти, и о том, что планируют сделать разработчики, чтобы их вообще убрать. А также поделюсь некоторыми рецептами нагрузочного тестирования, которые помогут избежать неожиданностей в продакшене.
Слайды
Видео
Другие доклады
-
Джошуа Дрейк Command Prompt, Inc. Pioneer
Репликация Postgres на практике
В ходе данного мастер-класса мы обсудим потоковую и логическую репликацию с точки зрения практика, включая вопросы нативных технологий репликации Postgres, конфигурации и управления ими. Мы также обсудим производительность и недостатки различных архитектур, таких как sync vs async и пр. По итогам слушатели смогут провести конфигурацию развертывания базовой репликации с HOT Standby, а также приобретут понимание других технологий, таких как Point in Time Recovery и каскадная репликация.
-
Федор Сигаев Postgres Professional технический директор, ведущий разработчик PostgreSQL
Малоизвестные, но достойные расширения Постгреса
Постгрес хорошо известен своей расширяемостью, которая делает его универсальным и пригодным практически для любого проекта. Многие расширения хорошо известны и широко используются, как, например, PostGIS - фактический стандарт для open sourc'ных ГИС, или hstore - расширение для хранения данных "ключ-значение". Я расскажу о менее известных, но очень полезных расширениях, которые дают полезную функциональность и/или повышают производительность.
Благодаря наличию API для создания расширений, их может разрабатывать программист без компетенции "ядерного" разработчика, и создавать в них свои функции, типы данных, операторы, индексы, и даже методы доступа (знаете, что это?)
Для этого доклада из сотен расширений я выбрал два:
- VOPS - заметно улучшает производительность OLAP-запросов с помощью векторных операций,
- pg_variables - обеспечивающее сессионные переменные, которые можно использовать в том числе и на read-only репликах
-
Дмитрий Белявский ТЦИ Ведущий специалистФедор Сигаев Postgres Professional технический директор, ведущий разработчик PostgreSQL
LTREE: расширяем синтаксис
В конце прошлого года мне поступил заказ на доработку расширения ltree с более полным набором символов. Доклад рассказывает о
- изначальном состоянии расширения
- расширенном синтаксисе
- процессе доработки и тестирования расширения.
-
Christopher Travers DeliveryHero SE Principle Engineer
Восстановление данных в PostgreSQL при поврежденной файловой системе
Данное тематическое исследование посвящено разбору случая, когда мы решили приложить усилия к восстановлению данных. Доклад подойдет для всех пользователей: как для новичков, так и для продвинутых администраторов баз данных PostgreSQL. Начинающие пользователи получат понимание того, что представляет собой восстановление данных и чем оно не является, чего можно ожидать, каким образом построить работу с привлеченными экспертами, чтобы получить на выходе наилучший результат. В тоже время, более продвинутые пользователи и эксперты PostgreSQL также получат честную порцию технических аспектов.