Сегменты ======== Основные сегменты ----------------- Cегменты хранят данные и обрабатывают большинство запросов. Пользовательские таблицы и их индексы распределяются по доступным сегментам в **ADB**. Сегменты – это инстансы **PostgreSQL**. Пользователи не взаимодействуют напрямую с сегментами в **ADB**, а делают это через мастера. Количество сегментов на сервере-сегменте определяется количеством потоков ЦПУ или доступной памятью. Количество сегментов на сервере-сегменте задаётся при инициализации базы и является очень важным параметром при работе **ADB**. Избыточные сегменты ------------------- При инициализации базы данных **ADB** можно настроить зеркальные сегменты (сегмент-зеркало, mirror), которые принимают на себя нагрузку в случае, если основной сегмент становится недоступен. .. important:: Использование ADB без настроенного механизма зеркалирования возможно, но крайне не рекомендуется. При этом зеркальный и основной сегменты должны находиться на разных хостах Существует две схемы создания зеркальных сегментов. При конфигурации по умолчанию все зеркальные сегменты одного хоста помещаются на другой. При втором варианте для каждого сегмента основного хоста зеркала распределяются на остальных хостах. Данный метод требует, чтобы хостов в системе было больше, чем сегментов на одном хосте. На хостах с несколькими сетевыми интерфейсами первичный и зеркальный сегменты распределяются поровну между интерфейсами. Восстановление сегментов ------------------------ При включенном зеркалировании система автоматически переключается на зеркальный сегмент, если основная копия становится недоступной. В случае если сегмент или хост выходит из строя, **ADB** может оставаться в рабочем состоянии при условии, что все части данных доступны на оставшихся активных сегментах. Если мастер не может подключиться к сегменту, он отмечает в каталоге, что данный сегмент недействителен. Сегмент остается недействительным и не работает до тех пор, пока администратор не возвращает его онлайн. Процесс восстановления копирует пропущенные во время нерабочего состояния сегмента изменения. При неподключенном зеркалировании в случае, если сегмент становится недействительным, система автоматически отключается. При этом администратору необходимо восстановить все сегменты прежде, чем продолжатся операции. Пример конфигурации сегмента и хоста ------------------------------------ Независимо от выбранной аппаратной платформы, узел обработки данных **ADB** обычно конфигурируется в соответствии с последующим описанием в данном разделе. .. important:: Производительность базы данных соответствует скорости самого медленного сервера. Рекомендуется, чтобы все хосты имели идентичные аппаратные ресурсы и конфигурации Хосты сегментов должны быть предназначены только для операций с базой данных **ADB** -- не следует размещать другое ПО на тех же серверах. Для получения максимальной производительности необходимо, чтобы **ADB** не конкурировала с другими приложениями или сетевыми ресурсами. Количество эффективных процессоров на хосте является основой для определения количества сегментов на хост. В зависимости от выбранной аппаратной платформы конфигурации **RAID** предлагают различные уровни мощности и производительность.