IBM® Informix® 12.10

Репликация данных первичного сервера на вторичные серверы

На всех типах вторичных серверов для репликации данных первичного сервера используются журналы. Первичный сервер отправляет на вторичные серверы HDR и RS весь свой логический журнал, но на вторичные серверы SD - только позицию страницы журнала.

Запись в журнал страниц индекса может использоваться всеми вторичными серверами, но требуется для репликации на вторичные серверы RS.

Для баз данных, которые надо реплицировать, должна использоваться запись транзакций в журнал.

Репликация на вторичные серверы HDR

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

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

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

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

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

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

Режимом синхронизации управляют в совокупности значение параметра конфигурации DRINTERVAL, значение параметра конфигурации HDR_TXN_SCOPE и тип записи в журнал базы данных.
На двух следующих диаграммах показана репликация, выполняемая с первичного сервера на вторичный сервер HDR.
Рис. 1. Как реплицируются данные с первичного сервера на вторичный сервер.
На этом рисунке показано, как в буферах HDR удерживаются буферы логического журнала, пока первичный баз данных не отправит их на вторичный сервер баз данных.
Рис. 2. Потоки, управляющие репликацией данных
Содержимое рисунка описано в следующем за ним абзаце.

Содержимое буфера логического журнала первичного сервера копируется в буфер репликации данных совместно используемой памяти и сбрасывается на диск. Если первичный сервер использует полностью синхронный или почти синхронный режим, он должен получить подтверждение от вторичного сервера HDR перед тем, как сможет завершить сброс на диск логического журнала. Первичный сервер запускает поток drprsend для передачи буфера репликации данных по сети в поток drsecrcv вторичного сервера, который затем записывает данные в буфер приема совместно используемой памяти. Поток drsecapply копирует буфер приема в буфер восстановления. Вторичные серверы (и HDR, и RS) используют потоки logrecvr для применения записей логического журнала к своим пространствам баз данных. Число потоков logrecvr можно настроить, изменив значение параметра конфигурации OFF_RECVRY_THREADS.

Потоки drprping и drsecping отправляют и принимают сообщения для мониторинга соединения между двумя серверами.

Репликация на вторичные серверы RSS

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

На следующей диаграмме показана репликация, выполняемая с первичного сервера на вторичный сервер RS.
Рис. 3. Потоки, управляющие репликацией данных для вторичных серверов RS
Содержимое рисунка описано в предыдущем абзаце.

Если первичный сервер может проверить свое соединение со вторичным сервером RS, поток RSS_send копирует страницу в буфер репликации данных либо с диска, либо из буфера логического журнала. Поток RSS_Send для отправки буфера репликации данных в поток RSS_recv вторичного сервера RS использует соединение SMX (Server Multiplexer Group). Затем поток RSS_recv записывает данные в буфер приема. Поток RSS_apply копирует буфер приема в буфер восстановления.

В отличие от работы в полностью синхронном или почти синхронном режимах HDR, первичный сервер не требует подтверждения от вторичного сервера перед отправкой следующего буфера. Первичный сервер отправляет до 32 неподтвержденных буферов репликации данных, пока поток RSS_send не начинает ожидать получения потоком RSS_Recv подтверждения от вторичного сервера RS.

Репликация на вторичные серверы SD

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


Отправить отзыв | Обмен примерами | Устранение неисправностей

Публикации в формате PDF смотрите по адресу Publications for the IBM Informix 12.10 family of products (Публикации для семейства продуктов IBM Informix 12.10).
Замечания по выпуску, документации и/или различным платформам смотрите на странице Замечания по выпуску.
 отметка времени Дата выпуска: март 2013 г.