title

text

Александр Кукушкин
Александр Кукушкин Zalando SE Database Engineer
18:00 20 июня
45 мин

Как Patroni решает проблему потери слотов логической репликации?

Более семи лет назад вышел PostgreSQL 9.4, в котором впервые появились функции логического декодирования и слоты репликации. И, спустя несколько лет, на базе этих функций в PostgreSQL 10 наконец то появилась поддержка логической репликации встроенная в ядро. Казалось бы, наступило солнечное будущее к которому мы так долго шли, если бы не пара неприятных моментов: логическая репликация не работает на репликах, плюс в PostgreSQL нет механизмов создания логических слотов на реплике. Это означает что при переключении мастера на новый узел слоты репликации теряются и на практике делает невозможным использование логической репликации и CDC для серьезных промышленных решений.

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

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

Видео

Видео доступно участникам мероприятия, выполнившим вход в личный кабинет

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

  • Виталий Ранн
    Виталий Ранн VK Cloud Solutions Data Platform Lead Technical Product Manager
    45 мин

    Deploy, Setup, Support: как работает Postgres Pro у облачного провайдера VK Cloud Solutions

    Облачный провайдер оперирует большим количеством железных ресурсов и сетевых сущностей. Но одно дело, когда компания запускает десятки инстансов БД в изолированном контуре для внутренних задач. Совсем другое — когда облачный провайдер предоставляет услуги b2b-пользователям и создает сервис для 500+ крупных компаний.

    Виталий расскажет, как сейчас работает Managed PostgresPRO у облачного провайдера VK Cloud Solutions, покажет архитектуру решения и расскажет о сложностях, с которыми столкнулись при создании продукта.

  • Алексей Фадеев
    Алексей Фадеев Sibedge Старший разработчик .NET, евангелист Postgres.
    22 мин

    Сборка plv8: от архива с бинарниками до компактного докер-образа

    Расширение plv8 очень недооценено, хотя оно позволяет значительно упростить разработку для ряда задач. Уже год как мы используем его в наших проектах. Но главная причина низкой популярности – сложность сборки расширения, к тому же требующей много трафика и места на диске для временных файлов. Поэтому мы решили собирать plv8 сами и поставлять готовые бинарники (не только поставлять нашим заказчикам, а вообще выложить в открытый доступ). Сначала просто выложили бинарные файлы на github. Потом сделали докер-образ Postgres с уже установленным plv8 на основе Debian. Образ получился тяжеловатым, поэтому стали смотреть в сторону alpine, но сборка под alpine оказалась сложнее, чем мы предполагали. Я расскажу, с какими трудностями мы столкнулись и как их преодолели. Так же кратко расскажу, для каких задач хорошо подходит plv8 и как сделать процесс разработки удобнее. И, конечно, поделюсь ссылками на наши докер-образы для последних версий Postgres 13 и 14, действительно компактные и открытые для любого использования.

  • Анатолий Анфиногенов
    Анатолий Анфиногенов АО "ВНИИЖТ" Зам. директора научного центра - начальник отдела разработки ПО
    45 мин

    Жизнь после импортозамещения: некоторые особености настройки БД и хранимых процедур

    Многие литературные произведения заканчиваются свадьбой, а про дальнейшую жизнь героев читателю скупо сообщают, что они жили долго и счастливо. В 2019 распределенное серверное приложение, работающего 24/7 на полигоне 16 железных дорог от Калининграда до Хабаровска плюс несколько БД центрального уровня, было перенесено с Oracle 11g SE на ванильный PostgreSQL 11.9. Но наша история не закончилась на успешном импортозамещении - жизнь продолжалась и порой преподносила сюрпризы. Мы столкнулись с некоторым количеством эксплуатационных проблем, часть из которых удалось решить за счет реорганизации данных, часть - за счет изменения хранимых процедур, а еще часть - за счет изменения парамеров PostgreSQL. Решение наших проблем было бы невозможным без встроенной в приложение системы логирования и профилирования. Доклад посвящен примерам успешного диагностирования и решения проблем с производительностью приложения для БД PostgreSQL, все взаимодействие с которым осуществляется только через слой хранимых процедур.

  • Павел Толмачев
    Павел Толмачев Postgres Professional Специалист образовательного отдела
    45 мин

    Коллапс в планах запросов. Достигаем и управляем

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