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.

Видео

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

  • Брюс Момжиан
    Брюс Момжиан EnterpriseDB Senior Database Architect
    45 мин

    Защита PostgreSQL от внешних атак

    Доклад раскроет все известные способы, которыми не имеющие авторизованного доступа к базе данных злоумышленники могут выкрасть пароли Postgres, просмотреть совершенные тразакции и даже вмешаться в работу сессии, возвращая фальсифицированные данные.

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

  • Андрей Николаенко
    Андрей Николаенко Скала-Р архитектор
    Борис Нейман
    Борис Нейман Mellanox
    Артур Закиров
    Артур Закиров Postgres Professional Разработчик
    45 мин

    Сетевые ускорения в комплексе Скала-СР / Postgres Pro: настоящее и будущее

    В прошлом году мы представили кластерную машину баз данных Скала-СР / Postgres Pro, основной особенностью которой стала аппаратная и программная поддержка прямого доступа к оперативной памяти удалённого узла (RDMA). Первые комплексы уже установлены у заказчиков и уже с первой реализацией стали возможны конструкции, неосуществимые без RDMA и функции разгрузки CPU, доступной на сетевом оборудовании Mellanox. Тем не менее, возможности, которые даёт это оборудование, гораздо шире, и данный доклад посвящён текущим работам и перспективным направлениям развития.

  • Николай Рыжиков
    Николай Рыжиков Health Samurai CTO
    45 мин

    Использование PostgreSQL и Сlojure для разработки приложений, ориентированных на работу с базами данных

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

    Я расскажу как мы используем postgresql и clojure для создания data intensive приложений для медицины.

    • functional relational programming
    • jsonb для моделирования сложной предметной области
    • функциональные индексы и расширение json-knife для поиска в jsonb
    • реализация graphql на postgres
    • logical replication для построения реактивных интеграций
    • асинхронный JDBC-free коннектор к postgresql на netty

  • Александр Алексеев
    Александр Алексеев Postgres Professional Software Developer
    45 мин

    PostgreSQL и пожатые документы

    Одно из преимущество документо-ориентированных баз данных, таких как MongoDB и Cochbase, перед РСУБД заключается в возможности изменять схему данных легко, быстро и часто. Традиционный подход мира РСУБД заключается в использовании дорогостоящего ALTER TABLE, медленной миграции существующих данных, и подобных вещей. Этот подход часто слишком медлен и неудобен для разработчиков приложений.

    Для решения описанной проблемы PostgreSQL предоставляет типы JSON и JSONB. Также существуют расширения zson, pg_protobuf и другие. Из этого доклада вы узнаете, как пользоваться описанными решениями, каковы их сильные и слабые стороны, и т.д. Также вы узнаете о связанных работах, которые сейчас находятся в процессе.