![Алексей Клюкин Алексей Клюкин](/media//2017/12/08/picture-194823-1468512533.jpg.180x180.jpg)
![Александр Кукушкин Александр Кукушкин](/media/2017/01/23/84zhDyX_.jpg.180x180.jpg)
Мастер-класс: Управление высокодоступными 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.
Видео
Другие доклады
-
Christopher Travers DeliveryHero SE Principle Engineer
PostgreSQL на 20TB и выше
В последние шесть месяцев я работал с массивным OLAP окружением, охватывающим порядка 400TB данных. Приходите и узнайте, как мы заставили это все работать, с какими трудностями сталкивались и какие навыки нам потребовались.
Этот доклад будет иметь мало общего с докладом про 10TB и выше, так как среды данных значительно отличаются. Мы рассмотрим эффективность аналитики, выравнивание данных, причины для разработки расширений на С, перемещение данных между серверами в нескольких центрах обработки данных.
-
Дмитрий Белявский ТЦИ Ведущий специалист
Криптографические параметры настройки PostgreSQL
При настройке PostgreSQL можно указать ряд криптографических параметров, относящихся как к соединению между клиентами и базой, так и к механизму авторизации. Доклад рассказывает, что они означают.
-
Андрей Хитрин RedSys Системный архитекторАлександр Федоров dbeaver.com Директор по развитию
DBeaver - IDE для Postgres с открытым исходным кодом
DBeaver - это универсальный графический клиент для работы с базами данных. Мы создаем DBeaver по модели Open Source Software. Особенное внимание уделяем СУБД PotgreSQL из-за её возможностей, её популярности и открытости. Мы расскажем как развивается DBeaver, покажем внутреннее устройство, продемонстрируем основную функциональность. Отдельно остановимся на трудностях, которые возникают при создании клиента для PostgreSQL. Обсудим модель управления требованиями и способы взаимодействия с сообществом PostgreSQL. Детально рассмотрим интерактивную отладку хранимых процедур PL/pgSQL. Представим новые возможности ближайшего релиза, поделимся планами на будущее.
-
Александр Коротков Postgres Professional Руководитель разработки
Подключаемые хранилища
Тема подключаемых хранилищ для PostgreSQL стала уже притчей во языцех. Период споров о том, нужны ли подключаемые хранилища, или нет закончился. Позиции скептиков, говорящих, что подключаемые хранилища не нужны, поскольку являются источником неконсистентного поведения СУБД, заметно ослабли после критики реализации MVCC в PostgreSQL со стороны Uber'а. Стало понятно, что подключаемые хранилища нужны как-минимум для альтернативной реализации MVCC через undo-лог, и это стало одним из ориентиров для проектирования интерфейса.
На текущий момент работа над подключаемыми хранилищами перешла в практическую плоскость: ведётся тред, в котором несколько человек разрабатывают набор патчей, и ещё больше делают ревью.
В данном докладе будут рассмотрены следующие вопросы:
- обзор получившегося интерфейса для подключаемых хранилищ;
- изменения в ядре PostgreSQL, которые потребовались для реализации данного интерфейса;
- текущие и потенциальные применения данного интерфейса, включая heap с undo-логом и in-memory OLTP движок;
- текущее состояние патчей и перспектива их принятия в ядро;
- дальнейшее развитие интерфейса с целю расширения возможностей подключаемых хранилищ (columnar, index-organized, LSM и т.д.).