Рубрика:
Базы данных /
Кластеры
|
Facebook
Мой мир
Вконтакте
Одноклассники
Google+
|
ВЯЧЕСЛАВ КОРОЛЕВ, АО «Компания ТрансТелеКом», макрорегион «Верхневолжский», начальник отдела мониторинга и управления сетями доступа, ciril2@proc.ru
Установка и настройка Postgres-XL в CentOS7
В статье описана процедура запуска кластера баз данных PostgreSQL на основе решения Postgres-XL
Postgres-XL – инструмент, который позволяет объединить несколько баз данных PostgreSQL в одну большую систему. При этом для клиента, который подключается в базе данных, нет никакой разницы, работает он с единственным экземпляром базы PostgreSQL или с целым кластером. Решение горизонтально масштабируется и удобно для хранения больших объемов данных. Для клиента сохраняется удобство использования привычных SQL-запросов со всеми возможностями по объединению, фильтрации и сортировке данных.
Postgres-XL состоит из трех основных компонентов (см. рис. 1):
- Global Transaction Monitor (GTM) – глобальный монитор транзакций, который следит за тем, чтобы данные в кластере были актуальными и все запросы к данным завершились успешно.
- Coordinator – координатор. Элемент, обеспечивающий связь пользователя с узлами данных Data Node. Координатор сам разберет сложный запрос, запросит данные у узлов, соберет их вместе и вернет пользователю.
- Data Node – узел данных, работающий непосредственно с данными.
Рисунок 1. Компоненты Postgres-XL
Также существует возможность создать элемент GTM-proxy, который выполняет проксирование запросов, направляемых к GTM. В настоящем материале данный элемент нерассматривается.
Так как GTM является узлом, при выходе из строя которого рушится система, GTM делают два – основной (master) и резервный (slave).
Решение Postgres-XL ориентировано на установку составных элементов в одной высоконадежной сети. То есть распределенное хранилище данных с разнесением элементов поразным городам работать будет плохо.
Рекомендуют координаторов сделать столько же, сколько узлов данных, и на каждом сервере размещать по элементу Coordinator + Data Node. Для GTM в документации рекомендуют отдельный сервер. Каждому элементу Data Node и Coordinator нужны заданные порты (port) для приема сообщений Postgres и порты (pooler port) для подключения к другим узлам кластера. Порты pooler port должны быть разные на всех узлах кластера. Наша конфигурация будет такая (см. рис. 2). Фактически все элементы Postgres-XL – это отдельные экземпляры базы данных PostgreSQL, которые необходимо инициировать в разных каталогах.
Рисунок 2. Конфигурация
Статью целиком читайте в журнале «Системный администратор», №6 за 2017 г. на страницах 44-50.
PDF-версию данного номера можно приобрести в нашем магазине.
- Официальный сайт проекта Postgres-XL – http://www.postgres-xl.org.
- «Очень большой Postgres». Статья на Habrahabr – https://habrahabr.ru/post/253017.
Facebook
Мой мир
Вконтакте
Одноклассники
Google+
|