title

text

Алексей Клюкин
Алексей Клюкин Zalando SE Database Engineer
Александр Кукушкин
Александр Кукушкин Zalando SE Database Engineer
14:00 05 февраля
180 мин

Мастер-класс: Управление высокодоступными 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.

Видео

Другие доклады

  • Иван Фролков
    Иван Фролков Postgres Professional инженер-консультант
    90 мин

    Pgpro_scheduler и криптовалютные транзакции

    Pgpro_scheduler, помимо основной функции выполнение заданий по расписанию, способен выполнять цепочки связанных транзакций. Это может использоваться в различных сценариях асинхронной обработки данных.

    Данный мастер-класс предназначен для демонстрации использования возможностей pgpro_scheduler для обеспечения надежной обработки последовательности транзакций на примере отправки криптовалют.

    pgpro_scheduler – расширение, входящее в состав Postgres Pro Enterprise.

  • Максим Милютин
    Максим Милютин Wildberries Разработчик/DBA
    Дмитрий Иванов
    Дмитрий Иванов Postgres Professional Developer
    45 мин

    Встроенное партицирование в постгресе и сторонние решения

    В 10-й версии постгреса появилось встроенное партицирование таблиц. Однако ставить точку на развитии этого функционала, начало работы над которым ведётся с августа 2015 года, пока рано. В новом 11-ом релизе ведутся несколько параллельных работ по преодолению ограничений встроенного партицирования (update ключа партицирования, вставка в foreign партиции, локальные и глобальные индексы) и внедрение оптимизаций (runtime partition pruning, parallel append нода и partition-wise aggregation/grouping), которые восполнят многолетний пробел в этой области.

    Помимо этого получили развитие сторонние решения для партицирования таблиц - pg_pathman и timescaledb, каждый из которых предоставляет свои дополнительные возможности, отсутствующие в ваниле.

    В своём доклады мы постараемся рассказать про возможности каждого из решений, обрисовать нишу, сделав упор на разрабатываемые фичи в ванильном постгресе.

  • Анатолий Солдатов
    Анатолий Солдатов Компания - ЗАО ЛАНИТ Старший разработчик баз данных
    22 мин

    Как деплоить в 5 раз быстрее или рассказ о нашей реализации параллельного выполнения миграций в Liquibase

    Liquibase - очень удобный инструмент последовательных миграций баз данных, используемый как на наших проектах, так и в большом числе других проектов и фреймворков. Он позволяет держать код базы вместе с кодом приложения в VSC, отслеживать попытки повторных миграций и много-много чего еще. Но рано или поздно проект вырастает, данные занимают терабайты, а liquibase все еще накатывает миграции последовательно.

    Мы не смогли позволить себе деплоиться по 100 часов и придумали тулзу (фреймворк) для liquibase, которая расширяет его возможности и позволяет выполнять паралллельно целый ряд скриптов или разбивать одну большую миграцию на маленькие партиции и параллельно мигрировать их.

  • Иван Фролков
    Иван Фролков Postgres Professional инженер-консультант
    45 мин

    Управление потоками заданий в PostgresPro Enterprise

    Нередко требуется выполнить асинхронно не одну транзакцию, а несколько в строго определенной последовательности. Для реализации подобного рода задач существует несколько решений, и одной из них - модуль pgpro_scheduler.