Как Patroni решает проблему потери слотов логической репликации?
Более семи лет назад вышел PostgreSQL 9.4, в котором впервые появились функции логического декодирования и слоты репликации. И, спустя несколько лет, на базе этих функций в PostgreSQL 10 наконец то появилась поддержка логической репликации встроенная в ядро. Казалось бы, наступило солнечное будущее к которому мы так долго шли, если бы не пара неприятных моментов: логическая репликация не работает на репликах, плюс в PostgreSQL нет механизмов создания логических слотов на реплике. Это означает что при переключении мастера на новый узел слоты репликации теряются и на практике делает невозможным использование логической репликации и CDC для серьезных промышленных решений.
Postgres-hackers уже много лет пытаются найти решение данной задачи, но к сожалению большинство попыток и горяих дискуссий в рассылке не привели ни к чему конкретному. Но, оказывается в PostgreSQL 11 была добавлена одна маленькая функция, которая позволила решить проблему потери слотов логической репликации с помощью внешних инструментов.
В докладе я расскажу как Patroni решает данную проблему используя исключительно на возможности PostgreSQL. Мы поговорим о плюсах и минусах данного решения, и попытаемся понять безопасно ли это немного погрузившись во внутренности Postgres.
Материалы к докладу
Видео
Видео доступно только участникам мероприятия, выполнившим вход в личный кабинет
Другие доклады
-
Анатолий Анфиногенов АО "ВНИИЖТ" Зам. директора научного центра - начальник отдела разработки ПО
Жизнь после импортозамещения: некоторые особености настройки БД и хранимых процедур
Многие литературные произведения заканчиваются свадьбой, а про дальнейшую жизнь героев читателю скупо сообщают, что они жили долго и счастливо. В 2019 распределенное серверное приложение, работающего 24/7 на полигоне 16 железных дорог от Калининграда до Хабаровска плюс несколько БД центрального уровня, было перенесено с Oracle 11g SE на ванильный PostgreSQL 11.9. Но наша история не закончилась на успешном импортозамещении - жизнь продолжалась и порой преподносила сюрпризы. Мы столкнулись с некоторым количеством эксплуатационных проблем, часть из которых удалось решить за счет реорганизации данных, часть - за счет изменения хранимых процедур, а еще часть - за счет изменения парамеров PostgreSQL. Решение наших проблем было бы невозможным без встроенной в приложение системы логирования и профилирования. Доклад посвящен примерам успешного диагностирования и решения проблем с производительностью приложения для БД PostgreSQL, все взаимодействие с которым осуществляется только через слой хранимых процедур.
-
Иван Чувашов ООО Calltouch DBA
Повреждение данных PostgreSQL на жестком диске. Что делать и как исправить?
Любая СУБД хранит свои данные на жестком диске, следовательно, может произойти ситуация, когда данные на диске повредились. Это может быть сбой контроллера, логическое или физическое повреждение данных, есть и масса других причин. Хорошо, когда в таких ситуациях повреждается файл индекса, команда пересоздания индекса позволяет восстановить консистентность в СУБД. Гораздо хуже дело обстоит, когда поврежден файл таблицы или системного раздела, восстановить поврежденные данные тогда невозможно. Приходиться прибегать к разным ухищрениям. Это может быть восстановление из бекапа, копирование данных из поврежденной таблицы или другие способы. В докладе рассмотрим несколько случаев повреждения данных на диске и опишем варианты восстановления данных из поврежденных таблиц.
-
Виктор Бушмин Росгосстрах Директор направления
Эволюция системы от MVP до HighLoad (опыт с ОСАГО)
В июне 2020 года АльфаСтрахование, как и другие страховые компании, была обязана использовать АИС РСА 2.0 для обеспечения работы ОСАГО в соответствии с законодательством. Компания занимает ведущие позиции на рынке ОСАГО, поэтому системы АИС ОСАГО, которые хранят информацию по обращениям от бизнес-систем до РСА и обратно, начали испытывать неожиданную нагрузку, БД стала деградировать, потреблять огромные для ее размера ресурсы. Деградация внезапно наступала и внезапно заканчивалась, причины были неясны. Творческий коллектив инженеров и экспертиза Postgres Pro решили проблему. Виновником оказался MyBatis (ORM) в Java-сервисах. История о том, что надо внимательно изучать документацию и проектировать высоконагруженные системы.
-
Виталий Ранн VK Cloud Solutions Data Platform Lead Technical Product Manager
Deploy, Setup, Support: как работает Postgres Pro у облачного провайдера VK Cloud Solutions
Облачный провайдер оперирует большим количеством железных ресурсов и сетевых сущностей. Но одно дело, когда компания запускает десятки инстансов БД в изолированном контуре для внутренних задач. Совсем другое — когда облачный провайдер предоставляет услуги b2b-пользователям и создает сервис для 500+ крупных компаний.
Виталий расскажет, как сейчас работает Managed PostgresPRO у облачного провайдера VK Cloud Solutions, покажет архитектуру решения и расскажет о сложностях, с которыми столкнулись при создании продукта.