Size: a a a

ClickHouse не тормозит

2020 August 22

S

Slach in ClickHouse не тормозит
Dmitriy D
я хотел обратить внимание разрабов на проблемы с форматом джейсон, еще раз. так как тикеты я заводил 1.5 года назад. думал что за 1.5 года были какие-то фиксы. сейчас в кликхаусе нету нормальной возможности работы с джейсоном. в то время как все современные СУБД эту возможность давно уже имееют. вот и все. а как зафиксать на своей стороне мы найдем способ
без обид ;) IMHO вы просто выдумали проблему

return result.data

НЕ ДАЕТ НИКАКОГО оверхеда ни по памяти ни по CPU

если у вас хотя бы 100 строк в data и 3-5 полей
то meta и остальное будут по парсингу в CPU и памяти весить меньше 1%

и если это вас заботит и счет идет на наносекунды
то вместо JSON вам надо использовать другой формат как минимум
источник

S

Slach in ClickHouse не тормозит
Dmitriy D
ну я бы не сказал что это не проблемы. вот я например увидел, что уже есть функции по работе с дежйсоном. но их нельзя заюзать для того же FORMAT JSON. тоже intended?
;)))
ну так есть разница
FORMAT JSON
применяется ТОЛЬКО ОДИН РАЗ для выходной сериализации -)
в sub query его не поставить
источник

S

Slach in ClickHouse не тормозит
Dmitriy D
ну я бы не сказал что это не проблемы. вот я например увидел, что уже есть функции по работе с дежйсоном. но их нельзя заюзать для того же FORMAT JSON. тоже intended?
это не проблема JSON
это проблема FORMAT который нельзя в sub query
источник

DD

Dmitriy D in ClickHouse не тормозит
ну я тоже могу оправдать любое решение если надо. но в чем смысл?
источник

DD

Dmitriy D in ClickHouse не тормозит
а по поводу result.data - я не знаю про какую вы систему. но у нас из БД приходит байтарей, по сути байт арей строки мы его сливаем в аутпут сокет. оверхеда фактически ноль. так как память уходит только на копирование из одного сокета в другой. как можно вернуть result.data без выгрузки в память всей сроки я не знаю. но может у вас так
источник

S

Slach in ClickHouse не тормозит
Dmitriy D
а по поводу result.data - я не знаю про какую вы систему. но у нас из БД приходит байтарей, по сути байт арей строки мы его сливаем в аутпут сокет. оверхеда фактически ноль. так как память уходит только на копирование из одного сокета в другой. как можно вернуть result.data без выгрузки в память всей сроки я не знаю. но может у вас так
вы не читали что я вам написал?
result.data на КЛИЕНТЕ в SDK сделайте
можете в доке тупо ничего не писать про статистику и т.п.
на клиенте не будет оверхеда
а с byte array как я уже сказал у вас тоже оверхеда не будет статистика меньше 1% занимает, вы из сокета в сокет перекладываете
источник

S

Slach in ClickHouse не тормозит
Dmitriy D
а по поводу result.data - я не знаю про какую вы систему. но у нас из БД приходит байтарей, по сути байт арей строки мы его сливаем в аутпут сокет. оверхеда фактически ноль. так как память уходит только на копирование из одного сокета в другой. как можно вернуть result.data без выгрузки в память всей сроки я не знаю. но может у вас так
извините, я прочитал что написал, там действительно про КЛИЕНТА не очень понятно сказано
источник

DC

Denny Crane (I don't... in ClickHouse не тормозит
Slach
это не проблема JSON
это проблема FORMAT который нельзя в sub query
даже если бы это работало, это точно не на пользу хайлоад
источник

DC

Denny Crane (I don't... in ClickHouse не тормозит
а что самое смешное я вспомнил что у меня в проде есть скрипт на баше, (apache cgi), который седом переделывает стрим eachrow в json для любых объемов.
источник

DC

Denny Crane (I don't... in ClickHouse не тормозит
т.е. мне эта фича тоже была нужна
источник

DD

Dmitriy D in ClickHouse не тормозит
Slach
вы не читали что я вам написал?
result.data на КЛИЕНТЕ в SDK сделайте
можете в доке тупо ничего не писать про статистику и т.п.
на клиенте не будет оверхеда
а с byte array как я уже сказал у вас тоже оверхеда не будет статистика меньше 1% занимает, вы из сокета в сокет перекладываете
речь про кликхаус-клиент? кто-то использует clickhouse-client вместо драйвера?
источник

S

Slach in ClickHouse не тормозит
Dmitriy D
речь про кликхаус-клиент? кто-то использует clickhouse-client вместо драйвера?
так
у вас API
вы  в это API выдаете JSON
этот JSON обрабатывается КЛИЕНТОМ
либо напрямую либо через клиентский SDK на языке программирования клиента

я вас два раза попросил показать спецификацию API и примеры SDK
источник

KS

Konstantin Sevastian... in ClickHouse не тормозит
подскажите из-за чего может останавливаться заполнение матвью?
источник

KS

Konstantin Sevastian... in ClickHouse не тормозит
в течение дня когда создается матвью заполнение идет нормально, а на следующий день перестает
источник

DT

Dmitry Titov in ClickHouse не тормозит
MAT VIEW в кликхаусе работает как insert trigger, так что заполнение не должно останавливаться, смотрите логи
источник

A

Artem in ClickHouse не тормозит
Добрый вечер, подскажите, пожалуйста, как эффективно получить пропуски в монотонно-возрастающих UInt, вроде уникальных айдишников?
источник

AK

Alex Krash in ClickHouse не тормозит
Artem
Добрый вечер, подскажите, пожалуйста, как эффективно получить пропуски в монотонно-возрастающих UInt, вроде уникальных айдишников?
"Получить" == обнаружить факт наличия пропусков? Или обнаружить границы диапазонов-пропусков?
источник

A

Artem in ClickHouse не тормозит
Alex Krash
"Получить" == обнаружить факт наличия пропусков? Или обнаружить границы диапазонов-пропусков?
Да, границы или можно все пропущенные ID.
источник

AK

Alex Krash in ClickHouse не тормозит
Сделать JOIN колонки самой на себя по условию b.id = a.id + 1.
Если не будет влезать в память - резать запрос на диапазоны (последовательность-то монотонно возрастающая)
источник

A

Artem in ClickHouse не тормозит
Alex Krash
Сделать JOIN колонки самой на себя по условию b.id = a.id + 1.
Если не будет влезать в память - резать запрос на диапазоны (последовательность-то монотонно возрастающая)
Ну вот это не очень эффективно получается. Я думал, может в ClickHouse есть какая-то своя функция, которая эффективно работает без джоинов.
источник