title

text

Константин Евтеев
Константин Евтеев X5 FoodTech Главный архитектор
Михаил Тюрин
Михаил Тюрин ИТ предприниматель предприниматель
16:15 06 февраля
45 мин

Кейсы использования логической репликации для восстановления данных в PostgreSQL 10

В Avito объявления хранятся в базах данных PostgreSQL. При этом уже на протяжении многих лет активно применяется логическая репликация. С помощью неё успешно решаются вопросы роста объема данных и количества запросов к ним, масштабирования и распределения нагрузки, доставки данных в DWH и поисковые подсистемы, межбазные и межсервисные синхронизации данных и пр.

Но ничего не бывает "бесплатно" - на выходе мы имеем сложную распределенную систему. Отказы оборудования - это норма, к ним нужно быть готовым. Можно найти много примеров конфигурации логической репликации и success stories ее использования, при этом практических примеров по восстановлению после аварий почти нет, не говоря уже про готовые инструменты. За годы эксплуатации репликации PgQ мы наработали обширный опыт, многое переосмыслили, реализовали собственные надстройки и расширения для восстановления и согласования данных после аварий в распределенных системах обработки данных.

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

Слайды

Видео

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

  • Виктор Егоров
    Виктор Егоров Data Egret DBA
    45 мин

    Сравнительный обзор архитектуры PostgreSQL и ORACLE

    Доклад рассмотрит следующие компоненты СУБД PostgreSQL, сравнивая архитектурные решения с СУБД ORACLE:

    1. Что представляет из себя экземпляр работающей базы, какие процессы присутствуют и за что они отвечают?
    2. Какими структурами оперирует база?
    3. Механизм отказоустойчивости.
    4. MVCC механизм и возможности восстановления базы.
    5. Хранение базы на физических носителях.

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

    Доклад будет интересен:

    • пользователям PostgreSQL, т.к. позволит взглянуть на другую СУБД и её особенности;
    • администраторам PostgreSQL, т.к. ORACLE предлагает большие административные возможности, которые могли бы быть реализованы и в Postgres;
    • разработчикам PostgreSQL, т.к. Postgres активно развивается и этот доклад может задать новые направления развития;
    • желающим перейти с ORACLE (или другой СУБД) на проекты с открытым исходным кодом, т.к. доклад продемонстрирует возможности открытой СУБД Postgres в сравнении с коммерческим продуктом, в котором Postgres выглядит очень достойно!

  • Константин Книжник
    Константин Книжник Postgres Professional Ведущий разработчик
    45 мин

    VOPS: Векторное расширение Постгреса

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

    • Большие накладные расходы на распаковку записей.
    • Затраты на интерпретацию запроса (Постгрес интерпретирует план выполнения запроса)
    • Поддержка работы с абстрактными типами
    • Недостатки PULL модели выполнения запроса
    • Издержки MVCC

    Все эти проблемы могут быть в большой степени решены за счёт использования векторного исполнителя запросов, который за одну операцию в состоянии обработать целый блок (вектор) значений. В этом докладе описывается способ добавления векторных операций в Посгрес, с помощью стандартного механизма расширения Посгреса, без внесения изменений в ядро. Такие механизмы Посгреса как UDT (определяемые пользователем типы), FDW (абстракция внешнего поставщика данных), расширения исполнителя запросов позволяют реализовать в Постгресе вертикальный таблицы, с которыми можно работать как с обычными таблицами. Но на порядки быстрее благодаря использованию векторных операций.

  • Дмитрий Кремер
    Дмитрий Кремер МИА "Россия Сегодня" Администратор баз данных
    22 мин

    Особенности мониторинга и траблшутинга высоконагруженной БД PostgreSQL

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

    • Квантовые эффекты или как наблюдатель влияет на наблюдаемую систему
    • Особенности сбора метрик при мониторинге БД с помощю Zabbix
    • Сбор данных для аналитики и визуализации запросов PostgreSQL с помощью rsyslog + kafka + clickhouse + grafana.
    • Инструменты оперативного анализа лог-файлов БД

  • Álvaro Hernández
    Álvaro Hernández OnGres Founder
    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.