clickhouse которая бы ограничивала потребление оперативной памяти при merge кусков в одной партиции? Данные хранятся в таблицах MergeTree, партиционирование сделано по месяцам
сколько у вас памяти на сервере? и зачем вам уменьшать? там не так уж много памяти потребляется там сортировка слиянием это значит берется два parts и вычитывается и идет сравнение по PK и итоговые значения пишутся в один файл на память только буфера влияют, на буфера влияет кол-во колонок в таблице можно попробовать background_pool_size уменьшить чтобы просто кол-во мержей одновременных снизить но это рекомендуется только для тестовых окружений с памятью меньше 4Gb делать
Обычно не нужно. Мержи кушают 300мб - 1гб. Можно уменьшить кол-во строк которые мержатся, размер буфера.
64 Гб оперативной памяти, есть колонка в которой хранится строка, эта колонка в сжатом виде занимает примерно 60Гб в партиции по месяцу
Как можно уменьшить?
ну смотрите system.part_log https://clickhouse.tech/docs/en/operations/system-tables/part_log/
partitions и parts это разные вещи partitions - это логическое разбиение более крупное parts это куски внутри partitions
merge-max-block-size=512 секция merge_tree сonfig.xml или alter таблицы https://clickhouse.tech/docs/ru/operations/settings/merge-tree-settings/#merge-max-block-size
Обсуждают сегодня