Обсуждаем ClickHouse
Оки, поковыряю логи.
Но все равно странно. В 7 утра абсолютно все словари в статусе LOADED в 18 вечера 25% словарей ушли в статус NOT LOADED самостоятельно
Я через complex_key_hashed тип поднимаю, не думаю, что все что указано про layout cache справедливо в моем случае
Читать полностью…Select uptime() проверьте. Я думаю у вас кх перегружается.
Читать полностью…А, у нас таких нет. Мы раз в сутки перегружаем словари через reload dictionary. Поэтому lifetime=0. Вроде про значения в диапазоне 1-30 секунд я не писал)
Читать полностью…Потому что 0 это выключение перезагрузки. Предполагается что вы будете руками это делать командой reload dictionary. Я говорю о маленьких значениях типа 30 секунд. В таком случае вы убиваете оба сервера постоянной бесполезной работой
Читать полностью…в этом случае нужно делать какой-то CDC sync в локальную таблицу, которая и будет источником данных для словаря
Читать полностью…Да не совсем так. У нас кликхаус ходит за словарями во внешнюю БД, которую иногда закрываем на обслуживание. И во время этого простоя ожидали, что словари всегда будут доступны, так как они под ручным управлением. Получается наш вариант материализовать измерения на кликхаусе и уже из них поднимать словари.
Читать полностью…Было тут недавно про недостатки JOIN
Хотя в простых случаях работает
Именно, он может быть выгружен как при нехватке памяти так и при неиспользовании
Читать полностью…Ну он же не должен обновляться при lifetime=0? Я ожидаю, что достаточно одного обращения, чтобы словарь поместился в раму и жил там вечно или это не так?
Читать полностью…У кх просто нет такой фичи.
Я бы читал лог кх про словарь. И смотрел system.dictionaries
Вы явно не дочитали как это работает
Лучше раз в сутки выгружаете таблицы и на них уже словари.
Да?
https://clickhouse.com/docs/sql-reference/dictionaries#cache
Но я наблюдаю абсолютно обратное поведение, которое описано в документации, что кликхаус выбрасывает из рамы словарь при длительном не обращении к нему пользователями.
Читать полностью…нельзя ставить lifetime менее минуты. Если вам нужно "прямо сейчас" используйте direct layout без всякого кеширования в памяти
Читать полностью…Но на деле: «никто не умеет пользоваться парашютом… как дальше жить будем?»
Читать полностью…Если слушать данную группу, то кликхаус лагучая багучая херня ) Но быстро работает )
Читать полностью…Ну или вы можете создать таблицу со слепком данных в кликхаусе, и потом на него натровить словарь.
Читать полностью…Я так понимаю, dictionary_lazy_load тоже не гарантирует вечное хранение в раме, пока кликхаус сервер жив?
Читать полностью…А у нас нет опций принудительно не выгружать словари из памяти?)
Читать полностью…Но сделал же при первой загрузке, и там жил. К словарю не обращались порядка 8-ми часов и он перешел в статус NOT LOADED
Читать полностью…Не обновляется автоматически и такой статус может бы и при ошибках
Читать полностью…