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

Всем привет! Какая клиентская библиотека для C# более предпочтительна

к использованию?

31 ответов

16 просмотров

https://github.com/DarkWanderer/ClickHouse.Client/ нам ок. но вставку делаем через клиент в основном

rentoc- Автор вопроса
【D】【J】
https://github.com/DarkWanderer/ClickHouse.Client/...

Там же через HTTP, наверное лучше Native ?

rentoc
Там же через HTTP, наверное лучше Native ?

Через бинарный формат, там минимальный оверхед по сравнению с json, хорошая либа. есть ещё порт нативного формата в Clickhouse.Ado, но там есть проблемы с производительностью на винде из-за особенностей работы винды с сетью

rentoc- Автор вопроса
Lars Ulrich
Через бинарный формат, там минимальный оверхед по ...

У меня может быть и винда и linux . Приложение на .Net Core 3.1

rentoc
У меня может быть и винда и linux . Приложение на ...

Надо тогда бенчить. У меня на винде дольше сокет открывался с портом нативного протокола, чем весь запрос отрабатывал. А вот через http лучше было. Плюс в том http клиенте можно для простых запросов даппер заюзать

rentoc- Автор вопроса
Lars Ulrich
Надо тогда бенчить. У меня на винде дольше сокет о...

У меня юзекейс грубо такой: программа на .Net Core собирает данные с приборов (по сети Ethernet) каждую 0,5-1 секунду и должна ложить в БД. А клиенты (разные) должны их оттуда забирать как текущие так и архивные данные. Както так.

rentoc
У меня юзекейс грубо такой: программа на .Net Cor...

не должно быть существенной разницы http или tcp (для одного и того же формата типа Native)

rentoc
У меня юзекейс грубо такой: программа на .Net Cor...

Ну как по мне библиотека от DarkWanderer самое оно, там очень удобный инсерт через DataTable

rentoc- Автор вопроса
rentoc
Там же через HTTP, наверное лучше Native ?

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

rentoc
У меня может быть и винда и linux . Приложение на ...

у нас тоже и винда и линукс (на .нет кор).

rentoc- Автор вопроса
rentoc
У меня юзекейс грубо такой: программа на .Net Cor...

А можно ли настроить CH так чтобы он последние поступающие N-записей в определенную таблмцу держал в памяти - для более быстрой отдачи данных клиентам ? Что то наподобие Disk + Memory Cache...

rentoc
А можно ли настроить CH так чтобы он последние пос...

как бы нельзя и не нужно. в принципе они и так в кеше линукса лежат чаще всего. есть еще buffer engine -- он хранит в памяти записи которые еще сброшены в таблицу

rentoc- Автор вопроса
Denny [Altinity]
как бы нельзя и не нужно. в принципе они и так в к...

Buffer Engine уже в самом CH? Его нужно настраивать ?

rentoc
Buffer Engine уже в самом CH? Его нужно настраив...

в самом КХ, в документации читайте, скорее всего вам не поможет, да и вы пытаетесь решать несуществующую проблему

rentoc
У меня юзекейс грубо такой: программа на .Net Cor...

public async Task SaveData<TData>(ClickHouseConnection connection, IEnumerable<TData> data, string tableName, CancellationToken ct = default) { using (var bulkCopy = new ClickHouseBulkCopy(connection)) { bulkCopy.DestinationTableName = tableName; DataTable table = new DataTable(); using (var reader = ObjectReader.Create(data)) { table.Load(reader); } await bulkCopy.WriteToServerAsync(table, ct); } } правда из стороннего еще FastMember заюзан для маппинга. А так - на входе коллекция объектов с такими же полями, как и столбцы таблицы, и вперед

rentoc- Автор вопроса
rentoc
У меня юзекейс грубо такой: программа на .Net Cor...

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

rentoc
Какой движок для таблиц лучше использовать для сбо...

классный способ — класть данные в кафку, а оттуда через kafka table engine сохранять в КХ

rentoc
Есть примеры или юзкейс ?

https://altinity.com/blog/2020/5/21/clickhouse-kafka-engine-tutorial

rentoc- Автор вопроса
Volodymyr Bunchuk
MergeTree но КХ не любит частых вставок.

Насколько частых? Если 500-1000 строк в секунду это плохо ?

rentoc
Насколько частых? Если 500-1000 строк в секунду эт...

Частый это количество вставок на момент времени, а не про объем, 1000 строк в одном запросе в секунду - ок, 1000 строк в 1000 запросах не ок

rentoc
Насколько частых? Если 500-1000 строк в секунду эт...

В целом по гайдам 1 вставка в секунду на таблицу

rentoc
Какой движок для таблиц лучше использовать для сбо...

GraphiteMT умеет то что вы хотите, но он считает среднее от среднего , а не sum/cnt , поэтому для avg у него херня получается, хотя может вы этого и хотите еще можно делать TTL / group by поверх SummingMT

rentoc
Насколько частых? Если 500-1000 строк в секунду эт...

каждый инсерт создает парт (или несколько, если сделать все неправильно), много партов плохо, сколько строк внутри парта, значения не имеет

rentoc
КХ парты не объединяет ?

объединяет конечно. Проблема в том что мелкие парты объединяются за то же время что и немелкие, потому что много накладных расходов, каждый парт -- это множество файлов, каждый файл надо открыть, сделать seek, а жесткий диск не умеет много seek

rentoc
Какой движок для таблиц лучше использовать для сбо...

MergeTree можете ин мемори куски использовать с последней версии и можно вставлять часто

rentoc- Автор вопроса
【D】【J】
MergeTree можете ин мемори куски использовать с по...

Это с какой версии КХ? И как это настраивается?

rentoc
Это с какой версии КХ? И как это настраивается?

https://youtu.be/1LVJ_WcLgF8?list=PLO3lfQbpDVI-hyw4MyqxEk3rDHw95SzxJ&t=10921

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

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

Какой-то там пердун в 90-х решил, что есть какая-то разная типизация. Кого вообще это волнует?
КТ315
49
void terminal_scroll() { memmove(terminal_buffer, terminal_buffer + VGA_WIDTH, buffer_size - VGA_WIDTH); memset(terminal_buffer + buffer_size - VGA_WIDTH, 0, VGA_WIDTH); ...
Егор
47
Всем привет! Подскажите, пожалуйста, в чем ошибка? Настраиваю подключение к MySQL. Либы лежат рядом с exe. Все как по "учебнику"
Евгений
16
А можете как-то проверить меня по знаниям по ассемблеру?
A A
132
Здравствуйте! У меня появилась возможность купить книгу "Изучай Haskell во имя добра!". Но я где-то слышал, что эта книга устарела. Насколько это правда??
E
22
Здравствуйте! Я вот на stepic решаю задачи на хаскеле https://stepik.org/lesson/8443/step/8?unit=1578 мой код import Data.List (isInfixOf) removing :: String -> [String] ->...
E
10
Камрады, кто тесно работал с vtv, хотел уточнить. Ширина column задаётся жёстко на этапе создания дерева или можно в рантайме ее менять программно (не мышкой)?
Ed Doc
10
да ладно ... что там неочевидного ? глянуть в исх-ки датасета и/или кверика чтобы понять в каком месте и как выполняется обращения к св-вам blablaSQL - минутное дело, даже е...
Сергей
7
Здесь для arm кто-нибудь кодит ?
Nothing
52
Всем привет, у меня есть сервер принимающий входящие HTTP подключения, как проверить, что подключение было через прокси или нет, есть какие то поля в заголовках по которым мо...
DS
8
Карта сайта