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

Пока только с ними не очень понятно, почему там написано

что они HTTP only? Было бы логично сделать это общей фичей не привязывая к протоколу (может так оно и есть на самом деле, я по коду не смотрел), тем более что всегда есть разбор данных и разницы из какого протокола пушнуть блок в очередь нет. Вообще, передавать по одной строке это большой оверхед, но если по какой-то причине можно только так, то почему бы и нет

10 ответов

20 просмотров

это и для binary протокола работает, если данные находятся в теле запроса.

Kirill-Shvakov Автор вопроса
Dmitry [Altinity] Titov
это и для binary протокола работает, если данные н...

Возможно, если оно кому-то нужно, то можно вот сюда добавить метод для асинхронной вставки https://github.com/ClickHouse/clickhouse-go? Правда в Go и так на клиенте достаточно просто все в batch собирать

Kirill Shvakov
Возможно, если оно кому-то нужно, то можно вот сюд...

проблема с go клиентом, он данные отдельным куском передает, а не в теле запроса, те тут нужно в сам клиент добавлять новую фичу.

Kirill-Shvakov Автор вопроса
Dmitry [Altinity] Titov
проблема с go клиентом, он данные отдельным куском...

Это не очень сложная задача, можно сделать отдельный метод типа AsyncInsert

Kirill Shvakov
Это не очень сложная задача, можно сделать отдельн...

Ну в первую очередь это кто то должен сделать. Вообще немного связанно с этим issue https://github.com/ClickHouse/clickhouse-go/issues/435

Kirill-Shvakov Автор вопроса
Dmitry [Altinity] Titov
Ну в первую очередь это кто то должен сделать. Во...

Интересно еще то, что Go драйвер умеет pool соединений, надо посмотреть будет на разницу в том чтоб пулять по HTTP или через TCP гонять

Kirill-Shvakov Автор вопроса
Dmitry [Altinity] Titov
Ну в первую очередь это кто то должен сделать. Во...

В общем да, в нативном протоколе оно тоже работает. По скорости оно сильно хуже, чем вставлять пачкой, плюс требуется конвертировать данные клиента в строковое представление. Но, так как это фича КХ, то вполне можно добавить поддержку в драйвер

Kirill Shvakov
В общем да, в нативном протоколе оно тоже работает...

Имхо, когда добавят транзакции драйвер все равно придется переделывать с его фейковыми транзакциями.

Kirill-Shvakov Автор вопроса
Dmitry [Altinity] Titov
Имхо, когда добавят транзакции драйвер все равно п...

https://github.com/ClickHouse/clickhouse-go/blob/master/benchmark/v2/write-async/main.go добавил AsyncInsert, с учетом пула коннектов он работает неплохо

Kirill Shvakov
https://github.com/ClickHouse/clickhouse-go/blob/m...

Круто, нужно будет попробовать.

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

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

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта