Мастер-класс: Управление высокодоступными PostgreSQL кластерами с помощью Patroni
Patroni - это Python-приложение для создания высокодоступных PostgreSQL кластеров на основе потоковой репликации. Оно используется такими компаниями как Red Hat, IBM Compose, Zalando и многими другими. С его помощью можно преобразовать систему из ведущего и ведомых узлов (primary - replica) в высокодоступный кластер с поддержкой автоматического контролируемого (switchover) и аварийного (failover) переключения. Patroni позволяет легко добавлять новые реплики в существующий кластер, поддерживает динамическое изменение конфигурации PostgreSQL одновременно на всех узлах кластера и множество других возможностей, таких как синхронная репликация, настраиваемые действия при переключении узлов, REST API, возможность запуска пользовательских команд для создания реплики вместо pg_basebackup, взаимодействие с Kubernetes и т.д.
Слушатели мастер-класса подробно узнают, как работает Patroni, получат практические навыки настройки высокодоступных кластеров на его основе, познакомятся с различными дополнительными возможностями и поучаствуют в диагностике проблем. Будут рассмотрены следующие темы:
- область применения: какие задачи HA успешно решаются Patroni
- обзор архитектуры
- создание тестового кластера
- утилита patronictl
- изменение конфигурации PostgreSQL для кластера, управляемого Patroni
- мониторинг с помощью API
- подходы к переключению клиентов
- дополнительные возможности: ручное переключение, перезагрузка по расписанию, режим паузы
- настройка синхронной репликации
- расширяемость и универсальность
- частые ошибки и их диагностика
Для полного участия в мастер-классе вам понадобится ноутбук с установленным git, vagrant и virtual box.
Vagrant можно загрузить со страницы https://www.vagrantup.com или установить с помощью пакетов в вашем дистрибутиве. Virtualbox: https://www.vagrantup.com
После установки Vagrant и Virtualbox нужно выполнить:
$ git clone https://github.com/alexeyklyukin/patroni-training $ cd patroni-training $ vagrant up
После того, как patroni box поднимется и установит необходимые пакеты к нему можно подключиться с помощью vagrant ssh.
Видео
Другие доклады
-
Марк Локшин Мэйл Ру Старший программист
Опыт миграции высоконагруженных игровых проектов с MySQL на PostgreSQL
В докладе будет рассказано о том, как мы переносили два высоконагруженных игровых проекта, изначально разработанных для работы с MySQL на Postgres. Какие проблемы мы видели изначально при миграции на Postgres, с какими очевидными и не очень сложностями столкнулись во время миграции и как их решали. Какие проблемы выявились в процессе эксплуатации. Какие фичи Postgres нам оказались очень полезными, а чего нам не хватало при переносе.
-
Eren Basak Citus Data Software Development Engineer
Использование PITR в распределенных cистемах на базе PostgreSQL
В Postgres есть возможность восстановления данных на момент времени (PITR), которая позволяет нам "отправляться" в прошлое. В этом докладе мы обсудим, какие существуют основные сценарии использования этой функциональности, как подготовить базу данных к восстановлению на момент времени, настроив хорошую систему бэкапов и транcляции WAL-файлов, а также рассмотрим конкретные примеры. Мы подробнее остановимся на том, как применять PITR на распределенных системах и кластерах с шардингом, затронув типичные проблемы подобных конфигураций, такие как разница во времени, и предложим возможные способы их решения - например, двухфазный коммит и pg_create_restore_point.
-
Дмитрий Павлов Arenadata Big Data solutions Senior Consultant
Дрессируем Greenplum
С необходимостью завести в корпоративном IT-ландшафте аналитическую СУБД сталкивается большинство компаний, чей бизнес так или иначе затрагивает информационные технологии. В докладе я расскажу о самых главных нюансах развёртывания и эксплуатации распределённой аналитической open-source СУБД, основанной на PostgreSQL - Greenplum, разберу типичные ошибки при её использовании, приведу best practices и обращу внимание на тонкие места.
-
Christopher Travers DeliveryHero SE Principle Engineer
PostgreSQL на 20TB и выше
В последние шесть месяцев я работал с массивным OLAP окружением, охватывающим порядка 400TB данных. Приходите и узнайте, как мы заставили это все работать, с какими трудностями сталкивались и какие навыки нам потребовались.
Этот доклад будет иметь мало общего с докладом про 10TB и выше, так как среды данных значительно отличаются. Мы рассмотрим эффективность аналитики, выравнивание данных, причины для разработки расширений на С, перемещение данных между серверами в нескольких центрах обработки данных.