Size: a a a

ClickHouse не тормозит

2021 February 13

m

mrAndersen in ClickHouse не тормозит
Вставляю 2к строк, размер суммарный мегабайт может 20 у пачки, в одном из полей есть json
источник

DC

Denny Crane [not a Y... in ClickHouse не тормозит
mrAndersen
Кто-то может подсказать в какую сторону копать, когда при инзертах получаются вот такие ошибки?

2021.02.13 19:43:24.322758 [ 10895 ] {} <Error> auto DB::IBackgroundJobExecutor::jobExecutingTask()::(anonymous class)::operator()() const: Code: 241, e.displayText() = DB::Exception: Memory limit (total) exceeded: would use 10.56 GiB (attempt to allocate chunk of 17416376 bytes), maximum: 10.55 GiB: (avg_value_size_hint = 1024, avg_chars_size = 1219.2, limit = 8192): (while reading column json)
Какая версия? Это исправляли. Можно ещё insert_parallel_parsing=0
источник

m

mrAndersen in ClickHouse не тормозит
Denny Crane [not a Yandex bot]
Какая версия? Это исправляли. Можно ещё insert_parallel_parsing=0
источник

m

mrAndersen in ClickHouse не тормозит
Исправляли? То есть был баг связанный с json? Или с вставкой? insert_parallel_parsing опция на уровне клиента или это можно в xml прописать?
источник

DC

Denny Crane [not a Y... in ClickHouse не тормозит
mrAndersen
Исправляли? То есть был баг связанный с json? Или с вставкой? insert_parallel_parsing опция на уровне клиента или это можно в xml прописать?
Просто трекер неправильно считал расход. Но кажется в этой версии уже исправили. Сколько в Линуксе top память показывает REE/RSS у процесса кх?
Опция у клиента. Вы кх клиентом вставляете? В случае кх-клиента парсинг делает клиент.
источник

m

mrAndersen in ClickHouse не тормозит
Denny Crane [not a Yandex bot]
Просто трекер неправильно считал расход. Но кажется в этой версии уже исправили. Сколько в Линуксе top память показывает REE/RSS у процесса кх?
Опция у клиента. Вы кх клиентом вставляете? В случае кх-клиента парсинг делает клиент.
Вставляет JDBC драйвер.

RES\RSS в районе 1500-2500мб максимум, в зависимости от ситуации, когда инзерт происходит память скажем 700мб, потом она увеличивается медленно (другие селекты, все селекты собственно тоже обрываются если этот запрос в процессе (и его кстати видно в system.merges и сам мердж происходит очень долго для 2к строк, секунд 10-12 и завершается всегда фейлом не вставив данные)
источник

DC

Denny Crane [not a Y... in ClickHouse не тормозит
mrAndersen
Вставляет JDBC драйвер.

RES\RSS в районе 1500-2500мб максимум, в зависимости от ситуации, когда инзерт происходит память скажем 700мб, потом она увеличивается медленно (другие селекты, все селекты собственно тоже обрываются если этот запрос в процессе (и его кстати видно в system.merges и сам мердж происходит очень долго для 2к строк, секунд 10-12 и завершается всегда фейлом не вставив данные)
Можно в профиле default тогда выключить параллеьный парсинг. Ну и можно поставить коэффициент 2 чтобы total не срабатывал
источник

m

mrAndersen in ClickHouse не тормозит
Это надо сделать для каждого шарда я так понимаю?
источник

DC

Denny Crane [not a Y... in ClickHouse не тормозит
mrAndersen
Это надо сделать для каждого шарда я так понимаю?
Да. В которых вставляете  
Можно и в jdbc в url попробовать. Кажется должно работать.
источник

m

mrAndersen in ClickHouse не тормозит
Ок, а есть варик мне просто обновится до 21.2.2.8 залетает из дебиан репозитоория — там уже это поправлено ?
источник

DC

Denny Crane [not a Y... in ClickHouse не тормозит
mrAndersen
Ок, а есть варик мне просто обновится до 21.2.2.8 залетает из дебиан репозитоория — там уже это поправлено ?
Попробуйте сначала 20.12.5.18
источник

m

mrAndersen in ClickHouse не тормозит
Ок, момент
источник
2021 February 14

T

Tatiana in ClickHouse не тормозит
Slach
=\ а если не использовать то при Atomic люди удаляют таблицу, и снова создают... и обламываются "потому что такая уже есть"
Лучше один раз понять, что такое Atomic, чем напихать uuid в zpath и через некоторое время обломиться еще раз.
Есть же способы удалить таблицу синхронно.
источник

D

Dj in ClickHouse не тормозит
Tatiana
Лучше один раз понять, что такое Atomic, чем напихать uuid в zpath и через некоторое время обломиться еще раз.
Есть же способы удалить таблицу синхронно.
можете для тех кто в ЗК не копенгаген прояснить, чем плох uuid в zpath для zk?
источник

T

Tatiana in ClickHouse не тормозит
Dj
можете для тех кто в ЗК не копенгаген прояснить, чем плох uuid в zpath для zk?
Я знаю, что у реплик zpath должен быть одинаковый.
А откуда в макрос uuid значение подставляется, я не знаю.
Если вы дропнули реплику, и создаете новую, что будет?
источник

D

Dj in ClickHouse не тормозит
Tatiana
Я знаю, что у реплик zpath должен быть одинаковый.
А откуда в макрос uuid значение подставляется, я не знаю.
Если вы дропнули реплику, и создаете новую, что будет?
в макрос UUID из таблицы, из UUID таблицы по логике.
как я понял при создании on cluster - Это автоматом делается.
при под-реплике, да, вы должны брать часть UUID  из  ДДЛ другой текущей реплики...
источник

T

Tatiana in ClickHouse не тормозит
Dj
в макрос UUID из таблицы, из UUID таблицы по логике.
как я понял при создании on cluster - Это автоматом делается.
при под-реплике, да, вы должны брать часть UUID  из  ДДЛ другой текущей реплики...
Вот я и говорю, при неаккуратном использовании можно не мало граблей насобирать.
Мне не нравится утверждение, что uuid в zpath использовать "НАДО"
источник

D

Dj in ClickHouse не тормозит
Tatiana
Вот я и говорю, при неаккуратном использовании можно не мало граблей насобирать.
Мне не нравится утверждение, что uuid в zpath использовать "НАДО"
да вряд ли, максимум новая реплика не будет синхронизироватся, и все.
мне например больше не нравится что нет макроса {database} по умолчанию во всех мануалах... там намного больше шансов нафакапить с одинаковыми путями в разных базах на одинаковых таблицах
источник

D

Dj in ClickHouse не тормозит
Tatiana
Вот я и говорю, при неаккуратном использовании можно не мало граблей насобирать.
Мне не нравится утверждение, что uuid в zpath использовать "НАДО"
так, что тут имхо именно надо
вместо:
/clickhouse/tables/{layer}-{shard}/table_name
такое
/clickhouse/{clustername}/tables/{shard}/{database}/{table}/{uuid}, {replica}
источник

D

Dj in ClickHouse не тормозит
но вообще с приходом default_replica_path - то что вы говорите становится риском. имхо можно фичу сделать для забора УУИД с другой реплики по remote по названию таблицы при создании.
источник