7200rpm hdd, есть табличка на терабайты, её периодически обширно читают - iowait в 100%, цпу почти простаивает, в мониторинге диска чтений идёт где-то на 60-100 mib/s, т.е. видимо на пределе возможностей диска. Хочется, чтобы запросы отрабатывали сильно быстрее (допустим, хотя бы, раза в три).
Допустим, есть возможность заменить hdd на nvme ssd. Сможет ли кликхаус утилизовать целиком пропускную способность ssd? Если не для любых запросов, то каков принцип?
Если я правильно понимаю, выжать из ssd максимум можно только параллелизацией. Из этого следует вопрос: как КХ умеет параллелизовать чтение в рамках одного запроса? Только по звеньям пайплайна, или внутри звений тоже? Допустим, там, если у меня партицируется по дням, а запрос выгребает одну колонку (а если больше одной?) за месяц, будет ли на этапе чисто чтения читаться параллельно max_threads x партиций? или что-то такое
(если это где-то описано, ткните плз)
заодно - если окажется, что дешевле будет взять кучу дублирующих hdd в рейд вместо "одного" ssd, это тоже вариант ведь? Или лучше не рейд, а разложить партиции по разным дискам (как вроде тут описано)?
Кликхауз умеет паралелить все и чтение одного парта тоже. Можно легко утилизировать 2.6гб/с nvme
Рейд лучше. На 12hdd в 10 рейде удается до гб/с одну колонку читать
Обсуждают сегодня