title

text

Арсений Шер
Арсений Шер Postgres Professional Разработчик
12:05 01 марта
45 мин

Консенсус, Postgres, Мультимастер

Postgres Pro Multimaster - это расширение Postgres (и набор патчей для ядра), обеспечивающее высокую доступность (HA) со строгой согласованностью и масштабируемостью чтения. Он образует симметричный кластер без общего доступа, синхронно реплицирующий данные и автоматически выполняющий аварийное восстановление. В течение последнего года мы приложили значительные усилия, чтобы убедиться и доказать, что согласованность сохраняется во всех сценариях. Новая версия, которая будет выпущена как часть Postgres Pro Enterprise 13, использует алгоритм Paxos для определения результата транзакции и оригинальный протокол, управляющий процессом восстановления; мы использовали TLA+ и TLC model checker для проверки его правильности. Я расскажу, как все это работает и почему в некоторых случаях multimaster может быть привлекательной альтернативой традиционным HA решениям на основе потоковой репликации.

Multimaster теперь имеет открытый исходный код и доступен по адресу: https://github.com/postgrespro/mmts

Чтобы сделать доклад менее узкоспециализированным и более привлекательным для широкой аудитории, в первой части я расскажу о том, как в целом современные СУБД (в основном так называемые NewSQL СУБД) обеспечивают отказоустойчивость. В частности, я остановлюсь на следующих моментах:

что такое строго согласованная СУБД и какие накладные расходы с этим связаны; что такое распределённый консенсус, Paxos, Raft; как они здесь помогают?

Я не буду пытаться объяснять какие-либо алгоритмы построчно; это едва ли осмысленно с учетом ограничений по времени, и на эту тему есть много полезной литературы. Цель здесь скорее в том чтобы познакомить с областью и задать в ней ориентиры.

Видео

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

  • David Steele
    David Steele Crunchy Data Principal Architect
    45 мин

    Лучшие практики для бэкапов с помощью pgBackRest

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

    В этом докладе мы рассмотрим лучшие практики резервного копирования баз данных и способы их реализации с помощью pgBackRest, в том числе:

    • архивирование и хранение журнала предзаписи (WAL);
    • частоту снятия резервных копий и срок их хранения;
    • достижение целей по времени / точке восстановления;
    • варианты конфигурации;
    • обоснование с точки зрения производительности.

  • Robert Bernier
    Robert Bernier Percona Старший консультант по PostgreSQL
    45 мин

    Продвинутые техники pg_upgrade

    На сегодняшний день утилита командной строки pg_upgrade является наиболее популярным инструментом для обновления между мажорными версиями Postgres. Однако помимо достоинств, у неё есть и известные проблемы. Одна из наиболее критичных: что делать, если произошёл сбой? Цель данного доклада - раскрыть те маленькие секреты, благодаря которым любой из слушателей сможет существенно улучшить процесс выполнения обновлений.

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

    Список подтем доклада приведён ниже:

    • Как работает pg_upgrade? Общая картина
    • О pg_upgrade (вызов из командной строки)

      • аргументы и опции

    • Пошаговое выполнение обновления
    • О репликации на основе РОЛИ

      • с атрибутом REPLICATION
      • с атрибутом LOGIN

    • Опции для обновления: копирование или жёсткие ссылки?
    • Что делать после обновления?

      • о производительности
      • об анализе
      • о команде REPACK
      • о переиндексации

    • Когда что-то идёт не так, и точка невозврата уже пройдена (пройдена ли?)
    • Обновляем РЕПЛИКУ
      • Метод по умолчанию: pg_basebackup
      • Продвинутый метод:
        • - используем rsync
        • предупреждение: закольцовка vacuum
  • Dimitri Fontaine
    Dimitri Fontaine
    45 мин

    Архитектуры с Postgres в продакшне

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

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

  • Simon Riggs
    Simon Riggs Enterprise DB Эксперт по PostgreSQL, ответственный за стратегическое развитие и технические коммуникации
    45 мин

    PostgreSQL и стандарты SQL

    PostgreSQL - одна из СУБД, в наибольшей степени соответствующая стандартам. В этом докладе будет рассмотрено влияние Постгреса на стандарт SQL и фичи из стандарта, которые были релизованы в Постгресе, в том числе фичи, планирующиеся в 14й и последующих версиях.