Size: a a a

ClickHouse не тормозит

2020 June 17

D

Dj in ClickHouse не тормозит
да, в КХ индексом сложно вызвать торможение (так как индекс спарс и по сути это скиппер).
это скорее баги отлавливать. сейчас люди пользуются костылем под названием identity()

ну хотя я уже сумел заставить КХ тормозить навешав скип индексы ( он жутко тормозит перед тем как он начинает сканировать сами парты)...
источник

D

Dj in ClickHouse не тормозит
ну и есть много случаев когда сканировать индекс не надо, и вы об этом знаете заранее..., в этом случае захинтить ФУЛЛ святое дело, и никакое обновление оптимизатора вам никогда ничего не сломает
источник

l

lnuynxa in ClickHouse не тормозит
Dj
ну и есть много случаев когда сканировать индекс не надо, и вы об этом знаете заранее..., в этом случае захинтить ФУЛЛ святое дело, и никакое обновление оптимизатора вам никогда ничего не сломает
так это identity?)
источник

D

Dj in ClickHouse не тормозит
ну, identity - невидимая функция, по сути конкретный хинт
источник

l

lnuynxa in ClickHouse не тормозит
Dj
ну, identity - невидимая функция, по сути конкретный хинт
ну, я к тому что конкретно это поведение можно уже сделать, да
источник

D

Dj in ClickHouse не тормозит
вот еще для холиваров
https://github.com/ClickHouse/ClickHouse/issues/11722 =)
источник

D

Dj in ClickHouse не тормозит
lnuynxa
ну, я к тому что конкретно это поведение можно уже сделать, да
специально для вас вот https://github.com/ClickHouse/ClickHouse/issues/11721
а то там уже minMap/maxMap есть хардкоднутый =)
источник

l

lnuynxa in ClickHouse не тормозит
ага, я когда этот minMaxMap увидел, стало грустно немного, что вместо общего решения пилятся частные
источник

D

Dj in ClickHouse не тормозит
lnuynxa
ага, я когда этот minMaxMap увидел, стало грустно немного, что вместо общего решения пилятся частные
да, я только из-за этого не поленился...
в общем голосуем, лайкаем, форсим, вносим поправки =)
источник

l

lnuynxa in ClickHouse не тормозит
Allow to specify parameter to not-do merge across partitions (merge-tree setting or system setting). This will let CH to assume that each partition already owns unique set of PKs.
речь идет о том, когда партицирование не идет по дате?

речь идет о том мерже что OPTIMIZE и background pool?
источник

D

Dj in ClickHouse не тормозит
lnuynxa
Allow to specify parameter to not-do merge across partitions (merge-tree setting or system setting). This will let CH to assume that each partition already owns unique set of PKs.
речь идет о том, когда партицирование не идет по дате?

речь идет о том мерже что OPTIMIZE и background pool?
нет, в целом... сейчас КХ когда делает SELECT ... FINAL, объединяет меж партициями тоже. Во многих кейсах (особенно в тех случаях кому надо делать такое), уникальность ключа между партициями гарантирована.

улучшить ФИНАЛ без этого assumption, не совсем возможно
источник

l

lnuynxa in ClickHouse не тормозит
Просто недавно впиливали вроде что то на ускорение FINAL
источник

D

Dj in ClickHouse не тормозит
lnuynxa
Просто недавно впиливали вроде что то на ускорение FINAL
я только parallel final видел, это по сути нагревание процессоров в большом проценте случаев
источник

D

Dj in ClickHouse не тормозит
lnuynxa
Allow to specify parameter to not-do merge across partitions (merge-tree setting or system setting). This will let CH to assume that each partition already owns unique set of PKs.
речь идет о том, когда партицирование не идет по дате?

речь идет о том мерже что OPTIMIZE и background pool?
>речь идет о том мерже что OPTIMIZE и background pool?
ну SELECT ... FINAL делает тот же самый мердж в памяти, просто не пишет на диск потом
источник

D

Dj in ClickHouse не тормозит
т.е. у нас проблема, допустим 60 дней, дневные партиции, по 100ГБ в день. последний день льется, остальные уже залились и схлопнулись. Если пустить запрос - он будет читать все 60 дней, и пытаться их схлопывать.
Суть тикета: не схлопывать старые партиции если пользователь говорит что между партициями дупликатов быть не может.
источник

l

lnuynxa in ClickHouse не тормозит
Dj
я только parallel final видел, это по сути нагревание процессоров в большом проценте случаев
Да, видимо только параллельный FINAL

Вообще я думал о том, что если есть какое то условие в WHERE, что бы FINAL применялся только к отфильтрованным гранулам по ключу
источник

D

Dj in ClickHouse не тормозит
lnuynxa
Да, видимо только параллельный FINAL

Вообще я думал о том, что если есть какое то условие в WHERE, что бы FINAL применялся только к отфильтрованным гранулам по ключу
ну, да... применяется
источник

D

Dj in ClickHouse не тормозит
но если мне надо максимум за 60 дней взять по одной колонке, оно медленнее раз в 10 сейчас
источник

l

lnuynxa in ClickHouse не тормозит
Dj
но если мне надо максимум за 60 дней взять по одной колонке, оно медленнее раз в 10 сейчас
LIMIT 1 BY key тоже тупит?
источник

D

Dj in ClickHouse не тормозит
argMax тупит меньше всех, но я так понял FINAL под капотом делает что-то похожее
источник