Size: a a a

ClickHouse не тормозит

2020 May 18

DT

Dmitry Titov in ClickHouse не тормозит
Yury
пробовал, все равно делает фулл-скан
у вас проблема в кол-ве партиций
источник

Y

Yury in ClickHouse не тормозит
Smoked Cheese
> 272.44 rows/s
что-то у вас кликхаус работает не оптимально
согласен
мониторинг показывает, что запрос полностью утилизирует одно процессорное ядро, чтения с диска не видно
источник

DT

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

Y

Yury in ClickHouse не тормозит
Dmitry Titov
потому что это виртуальные таблицы
да, но в этой виртуальной таблице 8000 записей
если честно, немного не очевидно, что с ней можно одним ядром делать 10 секунд на данном запросе
источник

DC

Denny Crane (I don't... in ClickHouse не тормозит
Smoked Cheese
> 272.44 rows/s
что-то у вас кликхаус работает не оптимально
это system.parts, это виртуальная таблица, + там блокировки, плюс на малом кол-ве строк это бессмысленный показатель
источник

AS

Aleh Sauko in ClickHouse не тормозит
а есть какой-то красивый способ взять элемент массива по максимуму из другого массива (что-нибудь типа argMax для массивов только)?

способ в лоб:

arr_1[indexOf(arr_2, arrayReduce('max', arr_2))]
источник

DC

Denny Crane (I don't... in ClickHouse не тормозит
Aleh Sauko
а есть какой-то красивый способ взять элемент массива по максимуму из другого массива (что-нибудь типа argMax для массивов только)?

способ в лоб:

arr_1[indexOf(arr_2, arrayReduce('max', arr_2))]
select arrayReverseSort( (x,y) -> y, a,b)[1] from(select ['a','b','c'] a, [1,2,3] b)
источник

AS

Aleh Sauko in ClickHouse не тормозит
Denny Crane (I don't work at Yandex (never did))
select arrayReverseSort( (x,y) -> y, a,b)[1] from(select ['a','b','c'] a, [1,2,3] b)
ну это даже хуже помойму, и сортировка лишняя n*logn
источник

AS

Aleh Sauko in ClickHouse не тормозит
спасибо, в любом случае за алтернативу
источник

DC

Denny Crane (I don't... in ClickHouse не тормозит
Aleh Sauko
ну это даже хуже помойму, и сортировка лишняя n*logn
select arrayReverseSort( (x,y) -> y, a,b)[1] from(select range(10000000) a, a b)
1 rows in set. Elapsed: 1.279 sec.


select b[indexOf(a, arrayReduce('max', a))] from (select range(10000000) a, a b)
1 rows in set. Elapsed: 1.756 sec.
источник

AS

Aleh Sauko in ClickHouse не тормозит
прикольно, странно)
источник

SK

Serhii Kholodniuk in ClickHouse не тормозит
Smoked Cheese
нет, используйте UUID
UUID не подходит, нужен uint64 что-связать таблицу со словарем
источник

DC

Denny Crane (I don't... in ClickHouse не тормозит
Serhii Kholodniuk
UUID не подходит, нужен uint64 что-связать таблицу со словарем
сityHash64
источник

DC

Denny Crane (I don't... in ClickHouse не тормозит
в любом случае хеши удобнее, их можно вычислять распределленно, т.е. куча ETL серверов которые не в курсе друг про друга вычислят один и тот же ID для select cityHash64('moscow')
6381852734693780677
источник

SK

Serhii Kholodniuk in ClickHouse не тормозит
Коллизии не будет?
источник

DC

Denny Crane (I don't... in ClickHouse не тормозит
Serhii Kholodniuk
Коллизии не будет?
будут, если у вас в справочнике миллиард, но вы их никогда не заметите
источник

SK

Serhii Kholodniuk in ClickHouse не тормозит
Если я строки менять собираюсь в будущем
источник

SK

Serhii Kholodniuk in ClickHouse не тормозит
Желателен уникальный индификатор
источник

DC

Denny Crane (I don't... in ClickHouse не тормозит
Serhii Kholodniuk
Если я строки менять собираюсь в будущем
менять что? У вас в справочнике есть естественный PK ?
источник

SK

Serhii Kholodniuk in ClickHouse не тормозит
Я хочу вынести в справочник, все что потребуется менять в будущем. И желательна строгая привязка к данным в КХ. Не понял на счёт РК.
источник