Size: a a a

ClickHouse не тормозит

2020 May 30

AN

Aleksey N in ClickHouse не тормозит
для партционирования, мы просто взяли substr(id, 1, 1)
источник

DT

Dmitry Titov in ClickHouse не тормозит
вообще строго говоря, партицирование нужно для удобно манипуляции данными, те не речь идет не про бизнес цели, кмк а а административно-обслуживающие.
источник

DT

Dmitry Titov in ClickHouse не тормозит
Aleksey N
для партционирования, мы просто взяли substr(id, 1, 1)
я не уверен, что кликхаус сумеет в этом случае в partition elimination
хотя за мой cityhash64 тоже нужно такое проверить
источник

AN

Aleksey N in ClickHouse не тормозит
@unamedrus понял, еще раз спасибо 👍
источник

DT

Dmitry Titov in ClickHouse не тормозит
Aleksey N
@unamedrus понял, еще раз спасибо 👍
там щас как раз либо идут либо уже есть результаты поползновений в оптимизации GROUP BY LIMIT BY с учетом распределения данных(по sharding key правда, про партиции непонятно)
источник

DT

Dmitry Titov in ClickHouse не тормозит
надо посмотреть будут
источник

D

Dj in ClickHouse не тормозит
Dmitry Titov
Ну в голову в первую очередь приходит партицирование вида cityHash64(id) % 10 или id % 10
хотя бы потому что при OPTIMIZE клик по очереди прогоняет все партиции в цикле и мержит их парты
Нельзя так в кх. Кх держит минмакс самой колонки в парте и использует её при прунинге... Можно интдив например. А вообще нужно по месяцам по любому если данные устаревают, id уже в дополнение.
источник

DT

Dmitry Titov in ClickHouse не тормозит
Dj
Нельзя так в кх. Кх держит минмакс самой колонки в парте и использует её при прунинге... Можно интдив например. А вообще нужно по месяцам по любому если данные устаревают, id уже в дополнение.
Да, тогда только интдив, хотя его сложнее конечно посчитать, что бы было поровну.
впрочем вариант с substr(id, 1, 1) тоже тогда подойдет.
источник

D

Dj in ClickHouse не тормозит
Dmitry Titov
Да, тогда только интдив, хотя его сложнее конечно посчитать, что бы было поровну.
впрочем вариант с substr(id, 1, 1) тоже тогда подойдет.
Не подойдет )
источник

D

Dj in ClickHouse не тормозит
id=10, id=100
попадут в один парт..  мин будет 1, макс 10000000... будет сканироваться
источник

DT

Dmitry Titov in ClickHouse не тормозит
Dj
id=10, id=100
попадут в один парт..  мин будет 1, макс 10000000... будет сканироваться
Мне лично показалось, что там idшник не числовой, а строковой
тогда будет ('aa','az') ('ba','bz')
источник

DT

Dmitry Titov in ClickHouse не тормозит
Вообще, что бы это избежать всей этой боли проще тогда вынести это дело в отдельную колонку.
(если у них вообще есть запросы по конкретным айди, что вопрос на самом деле)
источник

D

Dj in ClickHouse не тормозит
Dmitry Titov
Мне лично показалось, что там idшник не числовой, а строковой
тогда будет ('aa','az') ('ba','bz')
WHERE _id = '1045'
—-
цифровой в строке, а может просто query generator недоделанный... если цифровой в строке можно тогда по substr учитывая что строки сортируются по префиксу... но это очень тонкий лед.
и по мере роста данных будет глобальная порча распределения.
источник

D

Dj in ClickHouse не тормозит
но все равно лучше месяц+subpart...
источник

DT

Dmitry Titov in ClickHouse не тормозит
Dj
WHERE _id = '1045'
—-
цифровой в строке, а может просто query generator недоделанный... если цифровой в строке можно тогда по substr учитывая что строки сортируются по префиксу... но это очень тонкий лед.
и по мере роста данных будет глобальная порча распределения.
это другой товарищ был
источник

DT

Dmitry Titov in ClickHouse не тормозит
Dj
но все равно лучше месяц+subpart...
у них похоже каждый айдишник будет присутствовать в почти каждом месяце, а нужен только последний, те умножение данных минимум в 12 раз, что неприятно
источник

D

Dj in ClickHouse не тормозит
Dmitry Titov
это другой товарищ был
источник

D

Dj in ClickHouse не тормозит
Dmitry Titov
у них похоже каждый айдишник будет присутствовать в почти каждом месяце, а нужен только последний, те умножение данных минимум в 12 раз, что неприятно
т.е. апдейт будет? а данные будут жить вечно?
источник

DT

Dmitry Titov in ClickHouse не тормозит
Dj
т.е. апдейт будет? а данные будут жить вечно?
те айдишки, что не обновлялись в течении года -> в утиль
источник

D

Dj in ClickHouse не тормозит
просто если через год они все равно будут удаляться, лучше сдуплицировать и на уровне запроса optimize делать
источник