Стратегии зеркалирования Primary-Mirror

Документ описывает стратегии зеркалирования, используемые в системе базы данных YMatrix.

При развертывании системы базы данных YMatrix сегменты-зеркала (Mirror) могут быть настроены на отдельных хостах.

  • Функциональность:
    • При сбое основного сегмента (Primary) сегмент-зеркало берет на себя обработку запросов.
    • Зеркала синхронизируются со своими соответствующими основными сегментами за счет репликации журнала транзакций.
  • Лучшая практика:
    • Каждый экземпляр сегмента-зеркала должен размещаться на другом хосте, отличном от хоста его основного сегмента, чтобы избежать сбоев из-за отказа одного хоста.

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

1 Стратегии зеркалирования Greenplum

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

1.1 Spread Mirroring

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

1.2 Group Mirroring

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

2 Стратегия зеркалирования YMatrix

YMatrix использует Ring Mirroring в качестве стратегии по умолчанию. При наличии как минимум двух хостов последовательность основных сегментов на одном хосте рассматривается как одномерная лента, сложенная пополам. Начиная с серединного ID сегмента на втором хосте, зеркала размещаются по часовой стрелке и равномерно распределяются по остальным хостам.
При расширении кластера путем добавления новых основных сегментов существующее кольцо зеркал остается неизменным, а создается новое кольцо зеркал.

Это стратегия по умолчанию в YMatrix.

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

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

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