Как сохранить кеш в ClickHouse? - PullRequest
0 голосов
/ 12 марта 2020

Я использую crontab для планирования SQL, который запрашивает большую таблицу каждые 2 часа.

select a,b,c,d,e,f,g,h,i,j,k,many_cols from big_table format Null

Это занимает от 5 минут до 30 секунд за раз.

Что Из query_log видно, что когда время SQL низкое, значение MarkCacheHits высокое, когда время высокое, значение MarkCacheHits низкое, а значение MarkCacheMiss высокое.

  • И мне интересно, как сделать так, чтобы кэш меток попадал как можно больше? (Вероятно, это не единственная большая таблица, которую нужно разогреть)

  • Будет ли метка кэша заменена другими запросами и каков ее предел?

  • Действительно ли способ прогона выбора указанных столбцов c действительно работает для совокупного запроса этих столбцов? Например, прогрев SQL такой же, как и выше, и совокупный запрос может быть select a,sum(if(b,c,0)) from big_table group by a

  • Мой сервер Clickhouse иногда зависал, и я не вижу никаких ошибки или исключения в соответствующее время из журнала. Может ли это быть связано с моим обычным запросом на разогрев большого стола?

1 Ответ

1 голос
/ 13 марта 2020

На самом деле вы помещаете данные в Linux дисковый кеш.

Будет ли метка кэша заменяться другими запросами и каков ее предел?

да, будет заменить 5 ГБ <mark_cache_size>5368709120</mark_cache_size>

Действительно ли способ прогона выбора указанных столбцов c действительно работает для совокупного запроса этих столбцов?

Да, потому что вы помещаете файлы в Linux кеш.

Может ли это быть связано с моим обычным запросом разминки большой таблицы?

Нет.

...