Выбор оборудования для хранилищ кластера ClickHouse
Скопировано

13 октября 2026

ID 337348

Выбор оборудования для хранилищ кластера ClickHouse

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

Дисковая подсистема

Основная нагрузка на ClickHouse в KUMA – это операции записи (вставки):

  • События поступают в СУБД практически постоянным потоком.
  • Вставки, по меркам ClickHouse, частые и мелкие.
  • ClickHouse отличается высоким показателем амплификации записи (write amplification) за счет постоянных фоновых слияний частей партиций (parts).
  • Часть партиции размером до 1 ГБ хранится в виде одного файла. При превышении размера в 1 ГБ для части применяется ширококолоночный формат (wide column format), где каждый столбец таблицы представлен в виде двух файлов .dat и .mrk. В этом случае для перезаписи части партиции в результате ее слияния с другой частью, требуется запись в 384 файла + fsync на каждый, что подразумевает большое количество IOPS.

ClickHouse одновременно выполняет и поисковые запросы, но их значительно меньше, чем операций записи. С учетом характера нагрузки мы рекомендуем следующий подход к организации дисковой подсистемы:

  • Использовать DAS (Direct Attached Storage) c NVME или SAS/SATA-интерфейсами, избегая решений класса SAN/NAS.
  • Если узлы кластера ClickHouse развернуты в виртуальной среде, директория /opt/kaspersky/kuma должна быть напрямую смонтирована на дисковый массив. Не следует использовать виртуальные диски.
  • Использовать SSD (SATA/NVME). Любые SSD серверного класса обеспечат большую производительность, чем HDD (даже 15 000 RPM). Для SSD следует использовать RAID-10 или RAID-0 (если используется репликация в ClickHouse).

    Если использовать SSD невозможно, следует применять HDD 15 000 RPM, SAS, объединенные в RAID-10.

    Допускается гибридный вариант, когда горячие данные (например, за последний месяц) хранятся на SSD, а холодные данные – на HDD. Таким образом, операции записи всегда будут адресованы SSD-массивам.

    При использовании гибридного варианта SSD и HDD нужно учитывать, что программный RAID-массив (madm) всегда будет демонстрировать более высокую производительность и гибкость, чем аппаратный RAID-контроллер. При использовании RAID-0 или RAID-10 важно, чтобы размер полосы (stripe size) был равен 1 МБ. Часто в аппаратных RAID-контроллерах размер полосы по умолчанию составляет 64 КБ, а максимально доступное значение – 256–512 КБ. Для RAID-10 наиболее оптимальным для записи является near-layout, а для чтения – far-layout.

  • Рекомендуемая файловая система – EXT4. Если использовать EXT4 невозможно, допустимо использовать файловую систему XFS. Для любой из этих файловых систем рекомендуется включить опцию монтирования noatime.

Сетевой интерфейс

Рекомендации для сетевого интерфейса:

  1. На каждом узле кластера должен быть установлен и скоммутирован сетевой интерфейс с пропускной способностью не менее 10 Гбит/с. С учетом амплификации записи и репликации наиболее подходящим решением будет 25 Гбит/с.
  2. При необходимости процессы репликации могут использовать обособленный сетевой интерфейс, который не обрабатывает трафик, связанный со вставками и поисковыми запросами.

Оперативная память

ClickHouse рекомендует использовать соотношение объема оперативной памяти к объему данных, хранящихся на узле, равное 1:100.

Однако при расчете требований к оперативной памяти следует учитывать не только общий объем хранимых данных, но и объем данных, который в среднем обрабатывается при выполнении запросов. Например, если средний запрос предполагает сканирование партиций суммарным объемом 10 ТБ, рекомендуется предусмотреть не менее 100 ГБ оперативной памяти. Приведенное соотношение является общей рекомендацией и рассчитано на выполнение широких аналитических запросов. Фактические требования к оперативной памяти зависят от характера запросов, объема обрабатываемых данных и конфигурации системы.

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

Профиль использования

Требования к оборудованию рассчитаны на поглощение СУБД потока в n EPS при нахождении СУБД в покое (поисковые запросы не выполняются, только операции записи). На этапе внедрения KUMA не всегда удается точно определить, какие поисковые и аналитические запросы будут выполняться в системе, интенсивность, конкурентность и глубину поисковых запросов, а также фактическую производительность узлов кластера.

Таким образом, масштабирование кластера ClickHouse в процессе эксплуатации KUMA является стандартным сценарием. Если в результате увеличения потока EPS или увеличения интенсивности либо ресурсоемкости поисковых запросов кластер перестает справляться с нагрузкой, следует либо добавить шарды (горизонтальное масштабирование), либо усовершенствовать дисковые подсистемы, СPU или оперативную память на узлах кластера.

Вам помогла эта статья?
Что нам нужно улучшить?
Спасибо за ваш отзыв, вы помогаете нам становиться лучше!
Спасибо за ваш отзыв, вы помогаете нам становиться лучше!