Планирование и расчёт конфигурации кластера
Важнейшие параметры кластера 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 ГБ.