Интерконнект

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

В качестве интерконнекта крайне желательно использовать одно или несколько 10-гигабитных Ethernet-подключений. По умолчанию интерконнект базы данных ADB использует протокол UDP (User Datagram Protocol) с управлением потока данных для отправки сообщений по сети. Программное обеспечение ADB выполняет дополнительную проверку пакетов, не выполненную UDP, поэтому надежность передачи эквивалентна TCP (Transmission Control Protocol), а производительность и масштабируемость значительно превосходят показатели TCP.

Избыточность сетей интерконнекта

Избыточность соединения может быть достигнута путем развертывания двух коммутаторов 10 Gigabit Ethernet на сети и дополнительным 10-гигабитным подключением к мастер-серверу и сегмент-серверам.

Конфигурация сетевого интерфейса

Сегмент-сервер обычно имеет несколько сетевых интерфейсов, предназначенных для трафика межсетевого соединения ADB. Мастер-сервер обычно имеет вспомогательные внешние сетевые интерфейсы в дополнение к интерфейсам, используемым для внутреннего трафика.

В зависимости от количества доступных интерфейсов необходимо распределить межсетевой трафик интерконнекта по доступным интерфейсам. Это достигается путем назначения сегментов конкретному сетевому интерфейсу и равномерным распределением сегментов между интерфейсами.

Для этого создаются отдельные адреса хостов для каждого сетевого интерфейса. Например, если хост имеет четыре сетевых интерфейса, тогда у него будет четыре соответствующих адреса хоста, каждый из которых будет представлять один или несколько экземпляров первичного сегмента. Файл /etc/hosts необходимо настроить так, чтобы он содержал не только имя хоста каждой машины, а также все адреса интерфейсов для всех узлов базы данных ADB (мастер, резервный мастер, сегменты и хосты ETL в случае, если используется gpfdist).

Настройка коммутатора

При использовании нескольких коммутаторов 10 Gigabit Ethernet, необходимо равномерно разделить количество подсетей между каждым коммутатором.

Для примера конфигурации при наличии двух коммутаторов сетевые платы 1 и 2 на каждом хосте используют коммутатор 1, а сетевые платы 3 и 4 используют коммутатор 2. Для мастер-сервера имя хоста, связанное с первой сетевой платой (и, следовательно, с использованием коммутатора 1), является именем мастер-сегмента. Поэтому при активации резервного мастера, он должен быть подсоединён к сетевому интерфейсу, который использует коммутатор, не подключенный к основному мастеру.