Стратегия распределения основных и зеркальных сегментов

Документ описывает стратегию распределения зеркальных сегментов в системе базы данных 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 в качестве стратегии по умолчанию. При наличии как минимум двух хостов последовательность основных сегментов на одном хосте рассматривается как одномерная лента, сложенная пополам. Начиная с серединного номера на другом хосте, зеркала размещаются по часовой стрелке и равномерно распределяются по остальным хостам.
При расширении кластера путем добавления новых основных сегментов существующее кольцо зеркал остается неизменным, а создается новое кольцо зеркал.

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

Данная стратегия балансирует преимущества и недостатки двух стратегий Greenplum, предлагая компромиссное решение. Сравнение трех стратегий представлено в таблице ниже:

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

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