Size: a a a

ClickHouse не тормозит

2020 May 25

GS

George Shuklin in ClickHouse не тормозит
... У меня дискуссия с программистами о том, нужно ли под кликхаус сервер с большим количеством памяти. Проблема в том, что ни они, ни я в вопросе не разбирались. Есть ли что-то, с чего можно начать разбираться? (Сейчас на сервере 8Гб и иногда прилетают алерты по нехватке памяти от мониторинга).
источник

l

lnuynxa in ClickHouse не тормозит
George Shuklin
... У меня дискуссия с программистами о том, нужно ли под кликхаус сервер с большим количеством памяти. Проблема в том, что ни они, ни я в вопросе не разбирались. Есть ли что-то, с чего можно начать разбираться? (Сейчас на сервере 8Гб и иногда прилетают алерты по нехватке памяти от мониторинга).
8гб это так поигратся, желательно от 64гб
источник

ЕА

Егор Андреевич... in ClickHouse не тормозит
зависит от того как пользоваться, какие данные и какие объемы
источник

ЕА

Егор Андреевич... in ClickHouse не тормозит
порой на 1 запрос 8 гб мало
источник

A

Andrey in ClickHouse не тормозит
George Shuklin
... У меня дискуссия с программистами о том, нужно ли под кликхаус сервер с большим количеством памяти. Проблема в том, что ни они, ни я в вопросе не разбирались. Есть ли что-то, с чего можно начать разбираться? (Сейчас на сервере 8Гб и иногда прилетают алерты по нехватке памяти от мониторинга).
Объемы данных какие у вас?
источник

DC

Denny Crane (I don't... in ClickHouse не тормозит
George Shuklin
... У меня дискуссия с программистами о том, нужно ли под кликхаус сервер с большим количеством памяти. Проблема в том, что ни они, ни я в вопросе не разбирались. Есть ли что-то, с чего можно начать разбираться? (Сейчас на сервере 8Гб и иногда прилетают алерты по нехватке памяти от мониторинга).
Изначально КХ писался под Я., где у серверов было 128+, поэтому все задизайнено без учета что кто-то будет пытаться гонять КХ на 8.
Можно затюнить и на 8. Но всегда будет оставаться шанс что два одновременных запроса уложат КХ с ООМ

У вас ведь нет проблемы с серверами, воткните 32 и всего делов
источник

GS

George Shuklin in ClickHouse не тормозит
Кликхаус хочет ответ целиком в памяти держать? Объёмы порядка 20Гб, которые обновляются на 50% за день, плюс запрос, которые эти 20Гб шуршит довольно сильно. (Поминутно обновляемая статистика за два дня из которой выбираются лидеры в каждой группе)
источник

GS

George Shuklin in ClickHouse не тормозит
Я даже не про конкретные ручки, которые покрутить, а про всю теорию того, как CH использует память. Например, он умеет обрабатывать запрос не целиком, а кусками?
источник

l

lnuynxa in ClickHouse не тормозит
George Shuklin
Кликхаус хочет ответ целиком в памяти держать? Объёмы порядка 20Гб, которые обновляются на 50% за день, плюс запрос, которые эти 20Гб шуршит довольно сильно. (Поминутно обновляемая статистика за два дня из которой выбираются лидеры в каждой группе)
он и обрабатывает по кускам, но ведь рано или поздно нужно будет объединять запрос
источник

l

lnuynxa in ClickHouse не тормозит
Ну и он очень сильно параллелит обработку, спокойно может выжрать 64 потока на 100%
источник

GS

George Shuklin in ClickHouse не тормозит
С 32Гб проблема в том, что данных планируется больше, и начиная с 64Гб стоимость серверов начинает расти не совсем линейно. А локаций (откуда данные собираются) планируется дофига. Я не хочу оказаться в ситуации, когда мне нужно искать сервер с терабайтом оперативки только потому, что вовремя не подумал.
источник

GS

George Shuklin in ClickHouse не тормозит
(жизненный принцип - никогда не давать больше памяти, пока не поймёшь, зачем. Иначе потом попросят петабайт).
источник

DC

Denny Crane (I don't... in ClickHouse не тормозит
George Shuklin
Я даже не про конкретные ручки, которые покрутить, а про всю теорию того, как CH использует память. Например, он умеет обрабатывать запрос не целиком, а кусками?
да, умеет. Проблема в том что наприм есть кеш индекса и он раздувается до 5ГБ по дефолту, поэтому надо в config.xml <mark_cache_size>1073741824</mark_cache_size> , или например запрос обрабатывает данные кусками по 65к строк и читает пишет через большие буферы, таким образом что select * from limit 1 который стримается, потребует буферов, больше чем 4ГБ.
источник

DC

Denny Crane (I don't... in ClickHouse не тормозит
George Shuklin
С 32Гб проблема в том, что данных планируется больше, и начиная с 64Гб стоимость серверов начинает расти не совсем линейно. А локаций (откуда данные собираются) планируется дофига. Я не хочу оказаться в ситуации, когда мне нужно искать сервер с терабайтом оперативки только потому, что вовремя не подумал.
С 64 уже можно обрабатывать практически любые объемы, все будет стриматься (и все будет быстро кроме джойнов больших таблиц)
источник

GS

George Shuklin in ClickHouse не тормозит
Т.е. как я понял из ответов, у CH есть большое количество собственного lore, которое не o(число данных). В начале памяти надо непропорционально много, а потом ему легче.
источник

DC

Denny Crane (I don't... in ClickHouse не тормозит
George Shuklin
Т.е. как я понял из ответов, у CH есть большое количество собственного lore, которое не o(число данных). В начале памяти надо непропорционально много, а потом ему легче.
да
источник

GS

George Shuklin in ClickHouse не тормозит
(Я чувствую себя не очень комфортно с сервером у которого 64Гб оперативки под 20Гб базу :)
источник

AM

Alexander Malikov in ClickHouse не тормозит
Denny Crane (I don't work at Yandex (never did))
вы можете попробовать, но будет глючить. Вам разово надо чтобы налить реплику?
а вообще, есть альтернативные способы реплику заполнить?
например, погасить одну из живых, ринкануть данные
так сработает?
источник

GS

George Shuklin in ClickHouse не тормозит
Спасибо.
источник

DC

Denny Crane (I don't... in ClickHouse не тормозит
George Shuklin
(Я чувствую себя не очень комфортно с сервером у которого 64Гб оперативки под 20Гб базу :)
ну это на диске 20ГБ, а если разжать? Можно затюнить и на 8ГБ, надо просто время тратить и разбираться как это сделать в вашем конкретном случае.
Ну и есть якобы пользователи у которых и на 4ГБ продакшин, но видимо у них очень прямые руки.
источник