Мастер

Мастер – управляющий инстанс PostgreSQL в кластере. Мастер является точкой входа в систему базы данных ADB. Он принимает клиентские соединения и обрабатывает команды SQL, которые передают ему пользователи системы. Пользователи подключаются к ADB через мастера с помощью совместимой с PostgreSQL клиентской программы, например, psql или любое ODBC-совместимое приложение.

Мастер содержит системный каталог (набор системных таблиц, содержащих метаданные о ADB), однако мастер не содержит никаких пользовательских данных. Данные хранятся только на сегментах. Мастер аутентифицирует клиентские соединения, обрабатывает входящие команды SQL, распределяет рабочую нагрузку между сегментами, координирует результаты, возвращаемые каждым сегментом, и представляет конечные результаты для клиентской программы.

Поскольку мастер не содержит никаких пользовательских данных, он имеет небольшую нагрузку на диск. При этом мастер нуждается в быстром, выделенном ЦПУ для загрузки данных, обработки соединений и планирования запросов.

Запасной мастер

При необходимости можно развернуть резервную копию (или зеркало) главного мастера. Запасной мастер находится в режиме ожидания и берет на себя функции мастера в случае, если основной хост становится неработоспособным. Резервный мастер можно развернуть на назначенном хосте или на одном из хостов сегмента.

Резервный мастер содержит все необходимые для работы данные благодаря синхронизации между основным и запасным инстансами. Если основной мастер выключается из работы, процесс репликации журнала завершается, и администратор может инициализировать резервный мастер заново. Во время работы резервного мастера реплицированные журналы используются для восстановления состояния основного мастера.

Поскольку мастер не содержит никаких пользовательских данных, необходимо синхронизировать только таблицы системного каталога. Когда данные таблицы обновляются, изменения автоматически копируются на резервный мастер, и поэтому он всегда синхронизирован с основным.