ClickHouse.Driver.
HTTP
O cliente HTTP oferece a APIClickHouseClient, de alto nível e thread-safe, e a API ADO.NET
usada por ORMs. Ele é compatível com o .NET 6.0 e versões posteriores e é recomendado para a maioria das aplicações.
Use o cliente HTTP quando precisar de:
- ADO.NET ou um ORM;
- entrada e saída em CSV, JSONEachRow, Parquet ou stream bruto;
- autenticação bearer ou cabeçalhos HTTP personalizados;
- resolução personalizada de tipos de parâmetros, formatação de parâmetros ou conversão na leitura;
- banco de dados ou função definidos por consulta;
- melhor desempenho com
JSON. O cliente TCP só consegue transferir valoresJSONcomo texto.
Native TCP
O cliente TCP nativo é experimental, e sua API pública pode mudar em um lançamento futuro. Ele oferece a APIClickHouseTcpClient para leituras de blocos colunares, compressão nativa, conexões em pool e
sessões fixas. É compatível com o .NET 8.0 e versões mais recentes.
Use o cliente TCP nativo quando você precisar de:
- melhor desempenho, especialmente ao processar dados em colunas;
- blocos de dados colunares;
- conexões persistentes;
- sessões fixas por meio de
OpenSessionAsync; - callbacks de progresso, perfil, log, totais e extremos;
- propagação de contexto de rastreamento W3C para o ClickHouse.