Size: a a a

ClickHouse не тормозит

2020 June 15

OG

Oleg Gritsak in ClickHouse не тормозит
Anton Khokhrin
Now - 5 days будет со временем, соответственно выберется только 4 дня
Это то ладно, в запросе происходит группировка по дням, т.е. те даты которые выводятся должны же коректно подсчитаться, кмк..
источник

OG

Oleg Gritsak in ClickHouse не тормозит
Oleg Gritsak
Исправил запрос B, добавил в условии toDate к интервалу. Запрос теперь выводит верные значения, но если честно не особо понимаю в чём "магия" заключается

select
   toDate(clicked_at),
   count()
from stats.ad_clicks
where toDate(clicked_at) > toDate(now() -  interval '5' DAY)
group by toDate(clicked_at);
Буду благодарен, если кто-нибудь укажет на issue или на доку или обьяснит самостоятельно, почему count в группировке в этом запросе без toDate на интервал работает некоректно
источник

AK

Anton Khokhrin in ClickHouse не тормозит
Oleg Gritsak
Буду благодарен, если кто-нибудь укажет на issue или на доку или обьяснит самостоятельно, почему count в группировке в этом запросе без toDate на интервал работает некоректно
Неплохо бы знать версию сервера и пример данных
источник

OG

Oleg Gritsak in ClickHouse не тормозит
Anton Khokhrin
Неплохо бы знать версию сервера и пример данных
ClickHouse server version 19.11.3 revision 54423.

Широкая таблица которая хранит построчно сырые события от приложения.
Задача: получить кол-во событий по дням.

clicked_at DateTime,
источник

T

Tony in ClickHouse не тормозит
Всем день добрый. У меня есть таблица в которой записи упорядочены по ключу (случайный набор символов). Такая таблица создана в основном для point queries (по этому ключу). Какой следует выбрать "PARTITION BY"? На ум приходит только "PARTITION BY substring(ключ, 0, 1)" (патриции исходя из первого символа ключа, для более быстрого поиска). Верен ли такой подход?
источник

DC

Denny Crane (I don't... in ClickHouse не тормозит
Денис Никульников
Всем привет. Подскажите, пожалуйста какой index_granularity (mergetree) можно выставить на таблице в которой в день прибавляется по  1млрд записей?  От чего отталкиваться при выставлении данного параметра?
оставить дефолтный?
отталкиваться от кол-ва строк которые процессит селект. уменьшать, если запросам нужна быстрая точная навигация на одну строку с помощью первичного ключа
источник

DC

Denny Crane (I don't... in ClickHouse не тормозит
Tony
Всем день добрый. У меня есть таблица в которой записи упорядочены по ключу (случайный набор символов). Такая таблица создана в основном для point queries (по этому ключу). Какой следует выбрать "PARTITION BY"? На ум приходит только "PARTITION BY substring(ключ, 0, 1)" (патриции исходя из первого символа ключа, для более быстрого поиска). Верен ли такой подход?
Не будет работать partition pruning. Надо в поле хранить substring() и по это у полю партиционировать
источник

T

Tony in ClickHouse не тормозит
Denny Crane (I don't work at Yandex (never did))
Не будет работать partition pruning. Надо в поле хранить substring() и по это у полю партиционировать
а если в отдельном поле хранить substring и по нему партиционировать и при этом сортировать по ключу, то будет ли кликхаус понимать, что при запросе select something from table where ключ = QWErty, нужно смотреть только на парт "Q"?
источник

DC

Denny Crane (I don't... in ClickHouse не тормозит
Tony
а если в отдельном поле хранить substring и по нему партиционировать и при этом сортировать по ключу, то будет ли кликхаус понимать, что при запросе select something from table where ключ = QWErty, нужно смотреть только на парт "Q"?
источник

T

Tony in ClickHouse не тормозит
а может быть тогда вообще не использовать партиционирование?
источник

DC

Denny Crane (I don't... in ClickHouse не тормозит
Tony
а может быть тогда вообще не использовать партиционирование?
может быть.

Может быть у вас 6 строк в таблице.
А может вы дропаете целыми буквами.
источник

T

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

T

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

T

Tony in ClickHouse не тормозит
тогда нужно еще сделать order by (part_key, key) ?
источник

DC

Denny Crane (I don't... in ClickHouse не тормозит
Tony
тогда нужно еще сделать order by (part_key, key) ?
Нет. Не нужно
источник

T

Tony in ClickHouse не тормозит
А какое оптимальное количество партиций рекомендуется ?
источник

D

Dj in ClickHouse не тормозит
Tony
А какое оптимальное количество партиций рекомендуется ?
42 :)
источник

T

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

D

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

D

Dj in ClickHouse не тормозит
а если группировать второй символ?
источник