Size: a a a

ClickHouse не тормозит

2021 February 26

AR

Alimar Ramazanov in ClickHouse не тормозит
Не получается создать нового юзера через sql с чем это может быть связано?
источник

PL

Paul ❌ Loyd in ClickHouse не тормозит
Denny Crane [not a Yandex bot]
100 мс. лаг ETL ? У вас RTB что-ли? Да даже в RTB это не надо
Ну вот такие потребности =/
источник

e

enclaved in ClickHouse не тормозит
Denny Crane [not a Yandex bot]
могу с уверенностью 88% сказать что skip индексы вам не помогут
Тогда еще один вопрос: ПК таблицы, записанный как ORDER BY (ts, a, b), будет участвовать в запросах, где есть WHERE ts = x AND b = y (то есть нет условия по полю a)?
источник

DC

Denny Crane [not a Y... in ClickHouse не тормозит
Alimar Ramazanov
Не получается создать нового юзера через sql с чем это может быть связано?
ну доку не дочитали, там

По умолчанию управление доступом на основе SQL выключено для всех пользователей. Вам необходимо настроить хотя бы одного пользователя в файле конфигурации users.xml и присвоить значение 1 параметру access_management.
источник

PL

Paul ❌ Loyd in ClickHouse не тормозит
enclaved
Тогда еще один вопрос: ПК таблицы, записанный как ORDER BY (ts, a, b), будет участвовать в запросах, где есть WHERE ts = x AND b = y (то есть нет условия по полю a)?
Будет участвовать, да. Но если a часто меняется, то толку мало будет
источник

V

Vadim in ClickHouse не тормозит
Коллеги, привет.

Кто-нибудь сталкивался с проблемой, выполняю select из java (через Http driver) с использованием ExternalData. Структура externalData (f1 UInt32, f2 UInt32, f3 UInt8). Если в ExternalData 1000 строчек, то всё обрабатывается нормально.
Если 10000, то вылезает ошибка ERROR: garbage after UInt32: "bla-bla-bla". Такое ощущение, что проблема с буфером на какой-то из сторон.
источник

DC

Denny Crane [not a Y... in ClickHouse не тормозит
enclaved
Тогда еще один вопрос: ПК таблицы, записанный как ORDER BY (ts, a, b), будет участвовать в запросах, где есть WHERE ts = x AND b = y (то есть нет условия по полю a)?
зависит от кардинальности ts, так ts это похоже на timestamp то нет.
короче вопрос ЧТО ТАКОЕ TS ?
источник

PL

Paul ❌ Loyd in ClickHouse не тормозит
Хотя если там впереди ts, то всё равно, запрос по времени отсекает уже большую часть данных
источник

DC

Denny Crane [not a Y... in ClickHouse не тормозит
Vadim
Коллеги, привет.

Кто-нибудь сталкивался с проблемой, выполняю select из java (через Http driver) с использованием ExternalData. Структура externalData (f1 UInt32, f2 UInt32, f3 UInt8). Если в ExternalData 1000 строчек, то всё обрабатывается нормально.
Если 10000, то вылезает ошибка ERROR: garbage after UInt32: "bla-bla-bla". Такое ощущение, что проблема с буфером на какой-то из сторон.
ээ, что такое java http driver ?
источник

e

enclaved in ClickHouse не тормозит
Denny Crane [not a Yandex bot]
зависит от кардинальности ts, так ts это похоже на timestamp то нет.
короче вопрос ЧТО ТАКОЕ TS ?
Верно, именно timestamp события. Таблица - лог запросов к рекламному трекеру. Задача - сообразить ПК/индексы так, чтобы максимально быстро выполнять агрегирующие запросы пользователей, в которых могут быть любые комбинации WHERE и GROUP BY
источник

V

Vadim in ClickHouse не тормозит
Denny Crane [not a Yandex bot]
ээ, что такое java http driver ?
источник

DC

Denny Crane [not a Y... in ClickHouse не тормозит
enclaved
Верно, именно timestamp события. Таблица - лог запросов к рекламному трекеру. Задача - сообразить ПК/индексы так, чтобы максимально быстро выполнять агрегирующие запросы пользователей, в которых могут быть любые комбинации WHERE и GROUP BY
начните с
ORDER BY (a, b, ts)
если не подойдет то проверьте
ORDER BY (toStartOfHour(ts), a, b)

ORDER BY (toStartOfDay(ts), a, b)
источник

e

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

PL

Paul ❌ Loyd in ClickHouse не тормозит
enclaved
Верно, именно timestamp события. Таблица - лог запросов к рекламному трекеру. Задача - сообразить ПК/индексы так, чтобы максимально быстро выполнять агрегирующие запросы пользователей, в которых могут быть любые комбинации WHERE и GROUP BY
1. А a и b у вас что? Тикер/номер компании?
2. Паттерн обычно какой: запрашивают по своей компании или сразу по многим?
источник

e

enclaved in ClickHouse не тормозит
А - id юзера, b - id кампании
источник

e

enclaved in ClickHouse не тормозит
Paul ❌ Loyd
1. А a и b у вас что? Тикер/номер компании?
2. Паттерн обычно какой: запрашивают по своей компании или сразу по многим?
Запрашивают по своему id юзера разные кампании
источник

e

enclaved in ClickHouse не тормозит
То есть данные в рамках одного аккаунта. При этом кампаний обычно много
источник

DC

Denny Crane [not a Y... in ClickHouse не тормозит
да 100% баг в драйвере
источник

e

enclaved in ClickHouse не тормозит
Paul ❌ Loyd
1. А a и b у вас что? Тикер/номер компании?
2. Паттерн обычно какой: запрашивают по своей компании или сразу по многим?
2. Даже так: обычно id юзера в WHERE, а id кампании часто в GROUP BY
источник

PL

Paul ❌ Loyd in ClickHouse не тормозит
enclaved
2. Даже так: обычно id юзера в WHERE, а id кампании часто в GROUP BY
Тогда можно что-то вроде OK = (user_id, timestamp)
Масштабировать на кластер по user_id % X или консистентное хеширование
источник