лого postgrespro лого postgrespro

Отказоустойчивый кластер Postgres Pro «из коробки»: как работает BiHA

Высокая отказоустойчивость — базовое требование к СУБД в business-critical системах. Однако в экосистеме открытой СУБД PostgreSQL не существует стандартного, единственного рекомендованного решения для обеспечения отказоустойчивости.  В ответ на запросы заказчиков команда Postgres Professional разработала BiHA — собственную систему управления отказоустойчивым кластером Postgres Pro.

Встроенная в Postgres Pro отказоустойчивость

BiHA расшифровывается как Built-in High Availability, то есть «встроенная высокая доступность». В этом принципиальное отличие BiHA от имеющихся решений построения active-passive кластеров. BiHA интегрирована в ядро Postgres Pro Enterprise и доступна всем пользователям с лицензией на Postgres Pro Enterprise. В то время как релизные циклы внешнего кластерного ПО и Postgres Pro Enterprise могут не совпадать, для обновления BiHA нужно лишь обновление версии СУБД Postgres Pro. В отличие от дополнительного кластерного ПО, при использовании BiHA администратор БД имеет дело только с СУБД Postgres Pro. Задачи обновления, настройки, обеспечения совместимости стороннего ПО решать в этом случае уже не нужно.

Упрощение работы администратора

BiHA управляет физической репликацией Postgres самым распространенным решением для обеспечения отказоустойчивости Postgres. Физическая репликация построена на передаче файлов журнала предзаписи (WAL) с последующим применением их на реплике. На репликах может использоваться как синхронная, так и асинхронная репликация.

При конфигурировании кластера BiHA все необходимые для репликации параметры настраиваются автоматически, что значительно упрощает работу администратора. Создание узлов кластера лидера (Leader) и ведомого (Follower) происходит простым вызовом утилиты командной строки (bihactl init и bihactl add). На лидере находится рабочая версия БД, а на ведомых узлах — резервные.

Непрерывный мониторинг состояния узлов кластера

Любой узел кластера всегда «знает» о состоянии всех остальных узлов, что позволяет быстро определять наличие сбоя в кластере. Это достигается благодаря работе специальных процессов BiHA, выполняющих непрерывный мониторинг состояния всех узлов кластера во время его работы. Взаимодействие узлов друг с другом происходит с использованием управляющего канала: между каждыми двумя узлами устанавливается сетевое соединение по протоколу TCP.

Автоматическая защита от сбоя

Отказоустойчивость кластера BiHA обеспечивается без какого-либо участия администратора системы. Если лидер недоступен, оставшиеся узлы кластера выбирают нового лидера голосованием. При голосовании учитывается множество параметров, в том числе длина журнала предзаписи (WAL), что критично при использовании асинхронной репликации. Максимальная длина WAL означает минимальную потерю данных — поэтому выбирается минимально отстающий от лидера узел.

Предотвращение несогласованности данных

Имеется возможность регулировать количество узлов, составляющее кластерный кворум, необходимый для принятия решения о назначении нового лидера. Если старый лидер продолжает работать, но изолирован по сети от других узлов кластера, клиенты могут выполнять на нем только операции чтения. Это важно для предотвращения ситуации, когда операции записи выполняются на нескольких узлах кластера одновременно и несогласованно (split brain).

При устранении сбоя и возврате старого лидера в кластер он автоматически становится ведомым, поскольку он не прошел последнее голосование и не будет признан в качестве лидера. Снова назначить этот узел лидером при необходимости можно вручную с помощью функции set_leader(id).

Автоматическое подключение пользователей к новому лидеру

Для автоматизации подключений пользователей к СУБД могут использоваться привычные прокси, пулеры и балансировщики соединений. Управлять подключениями можно также и на клиенте (libpq, JDBC): если в строке соединений перечислить все узлы кластера и выставить параметр target_session_attrs=read-write, то при сбое будет происходить автоматическое переподключение к новому лидеру. Существуют и другие значения этого параметра клиентского подключения, например read-only, которая позволит клиентам, читающим данные, подключаться только к ведомым узлам кластера, в том числе с балансировкой сессий на чтение между всеми ведомыми узлами.

BiHA — незаменимое решение для крупных инсталляций

BiHA — полностью самостоятельная разработка Postgres Pro, созданная без применения каких либо Open Source решений. Встроенный кластер позволяет добиться высокой доступности Postgres Pro Enterprise при максимально простой установке и настройке. BiHA — безопасная и экономичная технология, она не требовательна к экспертизе администратора баз данных и позволяет обойтись без использования дополнительного оборудования. BiHA может стать незаменимым решением для обеспечения отказоустойчивости крупных инсталляций в корпоративных средах.

Узнать больше о BiHA и других технологиях отказоустойчивости можно на сайте Postgres Pro.

erid:LjN8JxzDpРекламодатель: компания ООО «ППГ»ИНН/ОГРН: 7729445882/1157746074518Сайт: https://postgrespro.ru/ ПОЛУЧИТЬ КОНСУЛЬТАЦИЮ
Реклама

erid: LjN8JxzDp
Рекламодатель: компания ООО «ППГ»
ИНН/ОГРН: 7729445882/1157746074518
Сайт: https://postgrespro.ru/

Получить консультацию по Postgres Pro

Другие статьи

«Авито» мигрировала базы данных «1C» с Microsoft SQL Server на Postgres Pro Enterprise

Компания «Авито» совместно с командой «ИнфоСофт» провела миграцию баз данных «1C» с Microsoft SQL Server на отечественную СУБД Postgres Pro Enterprise для высоконагруженных систем. 

Читать полностью

Правительство Амурской области перевело систему электронного документооборота на СУБД Postgres Pro

В правительстве Амурской области успешно завершилась миграция СЭД «Дело» с MS SQL Server на отечественную СУБД Postgres Pro Standard. Проект реализовали специалисты ГБУ «Центр информационных технологий Амурской области» в сотрудничестве с компаниями «Электронные офисные системы» (ЭОС) и «Офис-Док». Специалисты перенесли значительный объем данных в процессе эксплуатации системы и смогли максимально сократить время простоя.

Читать полностью

Как Росрыболовство перешло на электронный ДСП-документооборот с СДУ «Приоритет» и СУБД Postgres Pro

Компания «Диджитал Дизайн» помогла Федеральному агентству по рыболовству перевести в электронный вид процессы обращения со служебной информацией ограниченного распространения на базе СДУ «Приоритет». Российская СУБД Postgres Pro Certified сыграла важную роль в проекте внедрения, обеспечив необходимый уровень производительности системы, а также соответствие требованиям ФСТЭК в области безопасности и защиты информации.

Читать полностью

Научно-исследовательский и конструкторский институт энерготехники перевел систему электронного документооборота «Дело» на СУБД Postgres Pro

Российский ядерный конструкторский и научно-исследовательский центр «НИКИЭТ» завершил миграцию системы электронного документооборота «Дело» на импортонезависимую СУБД Postgres Pro Enterprise. В новую СУБД, развернутую на отказоустойчивом кластере, было успешно перенесено 2 ТБ документов. Проект реализован совместно компаниями «Электронные офисные системы» (ЭОС) и АО «РДТЕХ».

Читать полностью
Реклама

erid: LjN8JxzDp
Рекламодатель: ООО «ППГ»
ИНН/ОГРН: 7729445882/1227700166320
Сайт: https://teamstorm.io/