Как мы выбирали среди patroni, stolon, repmgr для нашего отказоустойчивого Постгреса
Для одного из наших проектов понадобилось решать задачу построения отказоустойчивой БД, желательно к тому же географический распределенной.
Первое на что мы посмотрели - это облачные решения от большой тройки, однако, стоимость их эксплуатации превзошла все наши скромные ожидания. К тому же у нас есть всякие штуки вроде экстеншенов и londiste репликации, и они не совместимы с тем, что предлагают облака.
В докладе я расскажу о том, почему мы остановились на patroni, на какие грабли наступили и какие у него есть неочевидные, но прикольные штуки, которые сильно облегчают жизнь.
Материалы к докладу
Слайды
Видео
Другие доклады
-
Julien Rouhaud Разработчик
HypoPG 2: поддержка гипотетического секционирования в PostgreSQL
Декларативное секционирование было долгожданной фичей, которая претерпела улучшение с момента ее появления в релизе PostgreSQL 10. Однако для многих пользователей нахождение оптимальных схем секционирования, дающих наибольший эффект, все еще является нелегкой задачей. По этой причине мы добавили в HypoPG новую фичу гипотетического секционирования, которая помогает пользователям проектировать схему секционирования. В ходе презентации я сделаю небольшое введение в HypoPG и декларативное секционирование, а затем покажу применение гипотетического секционирования и объясню, как работает расширение.
-
ААнна Акентьева Postgres Professional младший разработчик
Autovacuum: что можно узнать, если прочитать код, а не документацию
В докладе будут рассмотрены детали реализации автовакуума и практические выводы, следующие из них. Будет также дан краткий обзор патчей для автовакуума, которые рассматриваются сообществом разработчиков на данный момент и возможно будут включены в следующие версии PostgreSQL.
-
Павел Труханов okmeter.io CEO
Мониторинг Postgres по USE и RED
Есть две методологии перформанс мониторинга: USE (Utilization, Saturation, Errors) Брендана Грегга и RED (Requests, Errors, Durations) от Тома Уилки. В докладе я хочу рассказать о том, как мы на них ориентировались и продолжаем ориентироваться, когда реализуем мониторинг Postgres в okmeter.io.
-
TTatsuro Yamada NTT Comware Ведущий специалист по базам данных
Настройка автопланировщика с использованием цикла обратной связи
При OLAP и пакетной обрабокте данных часто наблюдается ситуация, что чем сложее запрос (содержит много джойнов, фильтров и аггрегативных функций), тем выше вероятность ошибок в оценке количества строк, в результате чего планировщик выбирает неэффективный план исполнения запроса.
Для того, чтобы решить эту проблему, я разработал инструмент под названием pg_plan_advsr - это расширение для PostgreSQL, которое исправляет ошибки оценки путем неоднократного возвращения в планировщик информации, собранной в ходе исполнения запроса.
Расширение содержит три фичи:
- Автоматическая оптимизация плана запроса за счет неоднократного возвращения информации о ходе выполнения запроса в планировщик.
- Сохранение всех выработанных при оптимизации планов запросов в таблицу истории.
- Создание и сохранение хинтов оптимизатора с тем, чтобы иметь возможность воспроизвести выработанные планы исполнения запросов в процессе настройки.
Я верифицировал эффективность pg_plan_advsr путем запуска join order benchmark (JOB) на PG 10.4, в ходе чего наблюдалось сокращение времени исполнения запроса до 50% от первоначального. Таким образом, расширение будет полезно пользователям, который хотят настроить планировщик для OLAP и пакетной обработки данных.
В ходе презентации я расскажу о следующие моментах:
- Принципы построения и архитектура pg_plan_advsr.
- Подробная информация о результатах тестирования JOB.
- Направления улучшений в будущем.
- Совместное использование расширений aqo и pg_plan_advsr together (экспериментальное).