Стратегии распределения Primary–Mirror

В данном документе описываются три стратегии зеркального распределения в системе баз данных YMatrix: Spread Mirroring, Group Mirroring и Ring Mirroring.

YMatrix использует Ring Mirroring в качестве стратегии зеркального распределения по умолчанию.

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

Обзор

При развертывании системы баз данных YMatrix вы можете настроить зеркальные сегменты на хостах вместе с основными сегментами.

  • Функциональность:

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

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

Сравнение стратегий распределения

Spread Mirroring Group Mirroring Ring Mirroring
Стабильность системы Нестабильно Стабильно Умеренно стабильно
Балансировка нагрузки Сбалансировано Несбалансировано Умеренно сбалансировано

1. Spread Mirroring

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

Для обеспечения равномерного распределения количество отдельных хостов в массиве должно превышать количество экземпляров сегментов на хост.

  • На рисунке ниже показана конфигурация Spread Mirroring для кластера из 4 хостов с 3 основными сегментами на хост.

2. Group Mirroring

Group Mirroring рассматривает все зеркала основных сегментов на одном хосте как группу и размещает всю группу на другом хосте в кластере.

  • На рисунке ниже показана конфигурация Group Mirroring для кластера из 4 хостов с 4 основными сегментами на хост.

3. Ring Mirroring

Ring Mirroring работает как минимум с двумя хостами. Он рассматривает последовательность идентификаторов основных сегментов на хосте как одномерную ленту, складывает её пополам, а затем размещает зеркала, начиная с точки сгиба, на других хостах по часовой стрелке равномерным образом.

При добавлении новых основных сегментов во время масштабирования существующие зеркальные кольца остаются неизменными; вместо этого создаётся новое зеркальное кольцо.

На рисунке ниже показана конфигурация Ring Mirroring для кластера из 3 хостов с 4 основными сегментами на хост.

Примечание!
Если вы хотите использовать в YMatrix стратегию зеркального распределения, отличную от Ring Mirroring, вы можете реализовать её с помощью пользовательской настройки с использованием mxaddmirrors.