Планирование и расчёт конфигурации кластера

Важнейшие параметры кластера Greenplum

  • Количество сегмент-хостов. Это основные узлы, на которых хранятся и обрабатываются данные.
  • Количество ядер CPU. Они влияют на вычислительную мощность хоста.
  • Количество RAM. Важно для обработки запросов и хранения данных в памяти.
  • Общий размер дисков на сегмент-хостах. Определяет, сколько данных можно хранить.
  • Количество сегментов Greenplum на одном сегмент-хосте. Влияет на параллельную обработку данных.

Расчёт параметров для настройки кластера

Диски

При планировании дискового пространства рекомендуется:

  • Умножать на 2 запланированный объём данных Данные дублируются для повышения надёжности.
  • Учитывать сжатие данных Greenplum может сжимать данные, так что они могут занимать в 3–4 раза меньше места. Это значит, что реально требуемое на диске пространство может быть гораздо меньше первоначального объёма данных.
  • Не заполнять диски более чем на 70% Дополнительное дисковое пространство необходимо для создания временных файлов при функционировании БД. Его также нужно предусмотреть.

RAM

CPU

Суммарное количество ядер vCPU сегмент-хостов:

Количество сегментов на хост

  • 8 ≤ vCPU < 32 — 4 сегмента
  • 32 ≤ vCPU < 64 — 4–8 сегментов
  • vCPU ≥ 64 — 8–16 сегментов При высокой ожидаемой конкурентности — от нескольких десятков до сотни одновременно выполняющихся запросов — следует выбирать количество сегментов на хост ближе к нижнему пределу.

Пример расчёта сегмент-хостов

Для хранения и обработки 20 480 ГБ (20 ТБ) несжатых данных понадобится кластер со следующими характеристиками сегмент-хостов:

  • Размер хранилища: 20 480 ГБ × 1,5 = 30 720 ГБ (<объем данных без сжатия> × 1,5).
  • Объём оперативной памяти: 20 480 ГБ ÷ 8 = 2 560 ГБ (<объем данных без сжатия> ÷ 8).
  • Количество ядер vCPU: 20 480 ГБ ÷ 80 = 256 (<объем данных без сжатия> ÷ 80).

Это соответствует, например, двадцати хостам i2.2xlarge (16 vCPU, 128 ГБ) с дисками 1 536 ГБ.