![Александр Кукушкин Александр Кукушкин](/media/2017/01/23/84zhDyX_.jpg.180x180.jpg)
Как Patroni решает проблему потери слотов логической репликации?
Более семи лет назад вышел PostgreSQL 9.4, в котором впервые появились функции логического декодирования и слоты репликации. И, спустя несколько лет, на базе этих функций в PostgreSQL 10 наконец то появилась поддержка логической репликации встроенная в ядро. Казалось бы, наступило солнечное будущее к которому мы так долго шли, если бы не пара неприятных моментов: логическая репликация не работает на репликах, плюс в PostgreSQL нет механизмов создания логических слотов на реплике. Это означает что при переключении мастера на новый узел слоты репликации теряются и на практике делает невозможным использование логической репликации и CDC для серьезных промышленных решений.
Postgres-hackers уже много лет пытаются найти решение данной задачи, но к сожалению большинство попыток и горяих дискуссий в рассылке не привели ни к чему конкретному. Но, оказывается в PostgreSQL 11 была добавлена одна маленькая функция, которая позволила решить проблему потери слотов логической репликации с помощью внешних инструментов.
В докладе я расскажу как Patroni решает данную проблему используя исключительно на возможности PostgreSQL. Мы поговорим о плюсах и минусах данного решения, и попытаемся понять безопасно ли это немного погрузившись во внутренности Postgres.
Видео
Видео доступно участникам мероприятия, выполнившим вход в личный кабинет
Другие доклады
-
Андрей Зубков Postgres Professional Руководитель группы систем мониторинга
Хотите ли вы знать, чем занимался VACUUM?
В Postgres Professional ведется разработка механизма сбора детальных данных о работе вакуума в statistics collector. Я расскажу о некоторых проблемах, которые это поможет решать и покажу как это выглядит на примере расширения pgpro_pwr.
-
ДДенис Волков Яндекс Разработчик
SPQR - легковесное шардирование
Stateless Postgres Query Router - новая система для роутинга запросов по диапазоном. Система написана на Go и стремится решить проблемы OLTP шардирования. Также система предполагает управление перемещением данных между шардами.
-
Павел Лузанов Postgres Professional Руководитель образовательных программ
PostgreSQL 15: MERGE и другие
Заморозка кода 15-й версии была в апреле, первая бета-версия PostgreSQL 15 уже доступна. Кратко расскажу о самых интересных новинках версии. В том числе о MERGE, команде с не простой историей реализации.
-
Дмитрий Вагин Avito Lead Engineer
Avito: где живут ваши объявления
Мы ранее рассказывали про внутренне устройство Авито, где и как хранятся ваши объявления, как эти объявления попадают в поиск. За последние 3-4 года очень много изменилось в Авито, мы избавились от использования логической репликации, использования standby для читающей нагрузки, практически отказались от хранимых процедур, избавились от самописного failover решения, мигрировали все объявления в шардированную базу данных, практически "распилили" монолит и перешли на разработку в микросервисах. Расскажу о причинах такого развития, проблемах с которыми столкнулись, и текущем положении дел.