title

text

Álvaro Hernández
Álvaro Hernández OnGres Founder
14:00 07 февраля
45 мин

Modern PostgreSQL High Availability

It’s 3am. Your phone rings. PostgreSQL is down, you need to promote a replica to master. Why the h**l isn’t this automatic?

If you thought of this before, you want automatic High Availability (HA). Don’t miss this talk! We will enter the world of Modern PostgreSQL HA.

Good news, there are several new, “modern” solutions for PostgreSQL HA. However, there are several solutions and it's not easy to pick one. Most require non-trivial setups, and there are many small caveats about HA like how to provide entry points to the application, HA correctness, HA vs. read scaling, external dependencies, interaction with cloud environments, and so forth.

Join this talk to master PostgreSQL HA and how to deploy it on current times.

Слайды

Видео

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

  • Алексей Клюкин
    Алексей Клюкин Zalando SE Database Engineer
    Александр Кукушкин
    Александр Кукушкин Zalando SE Database Engineer
    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.

  • Михаил Балаян
    Михаил Балаян Acronis Chief Database Architect
    45 мин

    MVCC в картинках и когда длинные транзакции - это проблема

    Многие из нас знают о том, что именно MVCC обеспечивает многопользовательский доступ к данным во многих реляционных базах данных, которые гарантируют согласованность и изолированность транзакций. Но именно глубокое понимание реализации этого механизма в PostgreSQL позволяет нам лучше понимать процессы, происходящие в базе, проектировать логику работы приложений и структуры таблицы, чтобы быть наиболее эффективными в мире высоких нагрузок. На примере одного из процессов в нашем продукте мы разберемся в том, как реализована MVCC в PostgreSQL и раскопаем одну из особенностей, когда казалось бы, несвязанные активности могут влиять друг на друга.

  • Александр Погодин
    Александр Погодин Корпорация ПАРУС, МГОТУ руководитель отдела
    А
    Александр Панкратов НПЦ Парус Генеральный директор
    45 мин

    Технология миграции тиражных клиент-серверных приложений с СУБД Oracle в СУБД PostgreSQL: Принципы, подходы и особенности

    В докладе рассматриваются подходы и варианты реализации миграции клиент-серверного приложения Парус-Бюджет 8 с платформы Oracle Database на платформу PostgreSQL без изменения клиентского приложения для Desctop и Web. Предлагаемое решение позволяет осуществить прозрачный переход существующих пользовательских рабочих мест.

  • Никита Глухов
    Никита Глухов Postgres Professional Разработчик
    Олег Бартунов
    Олег Бартунов Postgres Professional генеральный директор
    45 мин

    "Умное" индексирование jsonb

    PostgreSQL имеет репутацию универсальной СУБД,то есть базы данных, с которой можно стартовать практически любой проект, так как она имеет богатую функциональность,отличную репутацию и большое сообщество. Ее расширяемость позволяет добавлять недостающие функции силами прикладных программистов без остановки системы.

    Я расскажу про то, как мы в Postgres Professional улучшили работу с индексами, а именно, добавили возможность использования параметров для их создания. В качестве примера, я расскажу про "умное" индексирование jsonb с помощью нашего расширения jsquery. "Умное" индексирование означает, что можно задавать подмножество jsonb для индексирование с помощью jspath,нового типа данных jsquery, который можно будет указывать в качестве параметра при создании индекса. Таким образом, индекс будет меньше,что положительно скажется на производительности запросов и лучшей конкурентности. Кроме того, параметры к оп классам позволят гибче работать с уже существующими индексами, а также помогут при индекскации jsonb с помощью jsonpath из ожидаемого SQL/JSON.