Size: a a a

ClickHouse не тормозит

2020 June 15

D

Dj in ClickHouse не тормозит
a-f, g-n,...
источник

DT

Dmitry Titov in ClickHouse не тормозит
Tony
Я могу в part_key брать первый символ, а могу брать 2 первых символа. Второй способ даст небольшой выигрыш для поиска по ключу, но тогда партиций будет аж 4 тысячи
на самом деле кликхаус очень быстро бегает по ORDER BY ключу
источник

T

Tony in ClickHouse не тормозит
тогда первый символ сделаю. Где-то 60 партиций будет
источник

T

Tony in ClickHouse не тормозит
всем спасибо
источник

DT

Dmitry Titov in ClickHouse не тормозит
у вас сколько примерно записей ожидается?
источник

T

Tony in ClickHouse не тормозит
несколько миллионов в месяц
источник

T

Tony in ClickHouse не тормозит
до 100 в месяц
источник

DT

Dmitry Titov in ClickHouse не тормозит
понь, а длинный ключ?
источник

T

Tony in ClickHouse не тормозит
18 символов
источник

T

Tony in ClickHouse не тормозит
он абсолютно случаен
источник

DT

Dmitry Titov in ClickHouse не тормозит
хорошо, просто при большом объеме данных и длинном ключе(десятки, может сотни символов) есть еще такой хак, что бы уменьшить размер PK в оперативной памяти
делается что то вроде
PRIMARY KEY (startsWith(key,10))
ORDER BY (startsWith(key,10),key)
источник

DT

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

T

Tony in ClickHouse не тормозит
Dmitry Titov
если у вас запросы идут только дергать данные по ключу, можно еще уменьшить INDEX granularity попробовать
до 1к уменьшил
источник

T

Tony in ClickHouse не тормозит
Dmitry Titov
хорошо, просто при большом объеме данных и длинном ключе(десятки, может сотни символов) есть еще такой хак, что бы уменьшить размер PK в оперативной памяти
делается что то вроде
PRIMARY KEY (startsWith(key,10))
ORDER BY (startsWith(key,10),key)
хак немного не понятен, но думаю, что он мне пока не пригодится. Данных вроде не так много, да и табличка содержит небольшое количество float полей
источник

AR

Alexander Ryzhenko in ClickHouse не тормозит
Доброго дня, подскажите, почему может быть различие в поведении toDateTime() в разных версиях КХ?


Connected to ClickHouse server version 19.15.3 revision 54426.
:) select toDateTime('1970-01-01 00:00:01');
┌─toDateTime('1970-01-01 00:00:01')─┐
│               1970-01-01 00:00:01 │
└───────────────────────────────────┘
1 rows in set. Elapsed: 0.079 sec.
------------------------------------------
Connected to ClickHouse server version 20.3.8 revision 54433.
ClickHouse client version is older than ClickHouse server. It may lack support for new features.
:) select toDateTime('1970-01-01 00:00:01');
┌─toDateTime('1970-01-01 00:00:01')─┐
│               2106-02-07 06:28:17 │
└───────────────────────────────────┘
1 rows in set. Elapsed: 0.086 sec.
источник

VB

Vladimir Bunchuk in ClickHouse не тормозит
Dmitry Titov
А каким образом?
эта функция как и neighbor живет в пределах блока, если вас все устраивает то ок
Привет!
Столкнулся с проблемой при использовании функции neighbor. Периодически она отдаёт ноль ( 0 ) в результате выполнения. Я так понимаю, что это как раз из-за пределов блоков данных. Есть ли возможность как-то обойти такое поведение?
источник

AK

Alexey Kostarev in ClickHouse не тормозит
Alexander Ryzhenko
Доброго дня, подскажите, почему может быть различие в поведении toDateTime() в разных версиях КХ?


Connected to ClickHouse server version 19.15.3 revision 54426.
:) select toDateTime('1970-01-01 00:00:01');
┌─toDateTime('1970-01-01 00:00:01')─┐
│               1970-01-01 00:00:01 │
└───────────────────────────────────┘
1 rows in set. Elapsed: 0.079 sec.
------------------------------------------
Connected to ClickHouse server version 20.3.8 revision 54433.
ClickHouse client version is older than ClickHouse server. It may lack support for new features.
:) select toDateTime('1970-01-01 00:00:01');
┌─toDateTime('1970-01-01 00:00:01')─┐
│               2106-02-07 06:28:17 │
└───────────────────────────────────┘
1 rows in set. Elapsed: 0.086 sec.
Я ьы во втором случае использовал бы клиента то же версии, что и сервер
источник

DT

Dmitry Titov in ClickHouse не тормозит
Vladimir Bunchuk
Привет!
Столкнулся с проблемой при использовании функции neighbor. Периодически она отдаёт ноль ( 0 ) в результате выполнения. Я так понимаю, что это как раз из-за пределов блоков данных. Есть ли возможность как-то обойти такое поведение?
увеличить максимальный размер блока данных, но тут не очень гарантированно на самом деле

переписать на использование массивов
источник

VB

Vladimir Bunchuk in ClickHouse не тормозит
Dmitry Titov
увеличить максимальный размер блока данных, но тут не очень гарантированно на самом деле

переписать на использование массивов
Спасибо! Как раз только что попробовал увеличить размер блока. И все завелось как надо.

Учитывая что мне подобные запросы нужно делать раз в день по крону для агрегаций, достаточно ли обойтись увеличенным размером блока? Или все же стоит переписывать на массивы?
источник

AR

Alexander Ryzhenko in ClickHouse не тормозит
Alexey Kostarev
Я ьы во втором случае использовал бы клиента то же версии, что и сервер
с актуальным клиентом то же самое.
источник