169 похожих чатов

А кто что использует для взаимодействия с clickhouse? видел clickhousex

и clickhouse_ecto, но они мне показались сыроватыми, по крайней мере из коробки не заработали. конкретно сейчас смотрю на pillar, но при нём нет адаптера к ecto.

16 ответов

9 просмотров

ping @santaux, кажется, про твою библиотеку говорят )

Pillar берите, он ок :) на ecto парадигма clickhouse плохо ложится, собственно это и побудило pillar сделать

Igоr-Gоrуаchev Автор вопроса
Anton Lapshin
Pillar берите, он ок :) на ecto парадигма clickhou...

pillar внутренне очень неплох на первый взгляд. у меня как раз вставал ещё один вопрос: если нет адаптера к ecto, то, видимо, есть на то причины?

Igоr Gоrуаchev
pillar внутренне очень неплох на первый взгляд. у ...

да, всё так. по той же причине и к монге нормального адаптера нет. кликхаус только внешне по запросам отчасти похож на sql, внутри-то он вообще иной, с иным форматом работы. на классический sql не ложится никак. ну и потом, юзать кх в том качестве, в котором обычно тот же постгрес используется, на мой взгляд немного некорректно, он про другое

Когда я с коллегами писал либы эти все было ок. Но сейчас вполне возможно это все устарело. Поддержкой и развитием други ребята занимаются, они есть в этом чате. И к ecto адаптер тоже работает на самом деле

Igоr-Gоrуаchev Автор вопроса
Konstantin Grabar
Когда я с коллегами писал либы эти все было ок. Но...

скорее всего, так и есть. спасибо за ответ!

У нас clickhousex, но без ecto.

1. Для работы с кликхаусом надо выстроить пайплайн подготовки батча. Мы это делаем сами 2. Дальше надо подготовить вставку. Мы делаем это в raw binary, код могу пошарить. 3. Отправить это по http

Maksim Lapshin
1. Для работы с кликхаусом надо выстроить пайплайн...

На это бы особенно обратил внимание. Дёргать кликхаус на вставку по одной записи – в ноги стрелять.

Yaroslav Rogov
На это бы особенно обратил внимание. Дёргать кликх...

да. В кликхаус достаточно разумно вставлять раз в секунду. Если за секунду набегает больше миллиона записей, тут уж своей думкой надо думать, а не по чатам вопросы задавать. Если меньше, то нечего париться.

pillar антибезопасный внутри, там запросы строятся через String.replace, так что сами экранируйте инъекции А что не так с clickhousex и clickhouse_ecto, почему они кажутся сыроватыми? clickhousex раньше был кривой но сейчас очень хорошо работает, а clickhouse_ecto в общем случае просто не нужен

Igоr-Gоrуаchev Автор вопроса
Lama Lover
pillar антибезопасный внутри, там запросы строятся...

из коробки у он у меня вообще не завёлся, не отработал даже пример из README. не заработала также авторизация (там в хедере : не должно быть после Basic). не исключаю, что что-то не так делал, либо взял библиотеку не из правильного места.

Maksim Lapshin
там не RowBinary что ли?

RowBinary это формат кодирования данных А сами запросы всё равно текстом отсылаются Так вот в pillar это последовательный String.replace А это значит, что это не только инъекция, а ещё и переполнение памяти может быть

Igоr Gоrуаchev
из коробки у он у меня вообще не завёлся, не отраб...

Надо завести issue Какие версии clickhouse и clickhousex? @ar1ka1 @fried_zucchini

Lama Lover
RowBinary это формат кодирования данных А сами зап...

Там же экранирование параметров, а не вот это вот все) (Думаю, инъекцию сделать не получится) По поводу String.replace не совсем понимаю, в чем проблема? Тут все пишут проекты без String.replace, а кто пишет - в зоне риска?

Похожие вопросы

Обсуждают сегодня

Типа вызывать GetParent и проверять на соответствие GetModuleHandle?
The Bird of Hermes
67
Do any of you guys have interesting projects one could join? I'm a Middle Full-Stack developer (JS/TS, React & Node)
Lev Shapiro
40
$res = json_decode($наша строка из респонса); $res1 = array_map(fn($o) => $o->name, $res->breadcrumbs[0]->entities); Как такое будет на Хаскеле?.. В начале весь джейсон, в ко...
Хаскель Моисеевич Гопник
27
В чем сила брат, в NASM или FASM?
Isaac Kleiner
18
Вопрос по диагностике ошибок (я знаю в чем, в данном конкретном примере, я знаю, как исправить, пример модельный, понятно, что в реальности бывает намного запутаннее). module...
ⰄⰎⰋⰐⰐⰑⰛⰤⰧⰧⰩⰄ ⰊⰑⰁⰓⰡⰛⰦⰕⰫ
11
А чем вам питонисты не угодили?😂
.
79
Хтось використовував Vapor на Windows?
Jaroshevskii
15
Есть какой-нибудь для Delphi/FPC T*Compression(Decompression)Stream на базе LZ4/Zstd/любой другой быстрый(и хорошо сжимающий) алгоритм А ещё лучше в pure pascal А ещё лучше од...
notme
52
Тут кста кто-нибудь NeoVim использует?
Simple Sorcerer
13
Какое виндузовое сообщение приходит TTabSheet, что риэлайняться контролы на нем, даже у которых парент другой? Ситуация: открываю форму - кнопок нет, перелистываю на другой т...
Катерина Свиридова
7
Карта сайта