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.
Сетевой интерфейс
Рекомендации для сетевого интерфейса:
- На каждом узле кластера должен быть установлен и скоммутирован сетевой интерфейс с пропускной способностью не менее 10 Гбит/с. С учетом амплификации записи и репликации наиболее подходящим решением будет 25 Гбит/с.
- При необходимости процессы репликации могут использовать обособленный сетевой интерфейс, который не обрабатывает трафик, связанный со вставками и поисковыми запросами.
Оперативная память
ClickHouse рекомендует использовать соотношение объема оперативной памяти к объему данных, хранящихся на узле, равное 1:100.
Однако при расчете требований к оперативной памяти следует учитывать не только общий объем хранимых данных, но и объем данных, который в среднем обрабатывается при выполнении запросов. Например, если средний запрос предполагает сканирование партиций суммарным объемом 10 ТБ, рекомендуется предусмотреть не менее 100 ГБ оперативной памяти. Приведенное соотношение является общей рекомендацией и рассчитано на выполнение широких аналитических запросов. Фактические требования к оперативной памяти зависят от характера запросов, объема обрабатываемых данных и конфигурации системы.
Наличие свободной памяти на сервере положительно влияет на производительность поисковых запросов по наиболее свежим событиям, так как содержимое файлов партиций будет продублировано в кеш операционной системы и будет считываться из оперативной памяти, а не с диска.
Профиль использования
Требования к оборудованию рассчитаны на поглощение СУБД потока в n EPS при нахождении СУБД в покое (поисковые запросы не выполняются, только операции записи). На этапе внедрения KUMA не всегда удается точно определить, какие поисковые и аналитические запросы будут выполняться в системе, интенсивность, конкурентность и глубину поисковых запросов, а также фактическую производительность узлов кластера.
Таким образом, масштабирование кластера ClickHouse в процессе эксплуатации KUMA является стандартным сценарием. Если в результате увеличения потока EPS или увеличения интенсивности либо ресурсоемкости поисковых запросов кластер перестает справляться с нагрузкой, следует либо добавить шарды (горизонтальное масштабирование), либо усовершенствовать дисковые подсистемы, СPU или оперативную память на узлах кластера.