Awesome ClickHouseRust

suharev7/clickhouse-rs

⭐ 342 Rust repository created 2018-11-25

The project "clickhouse-rs" is an asynchronous client library designed for interacting with the Yandex ClickHouse database using the Rust programming language. It provides a robust and efficient way to connect to ClickHouse servers, execute queries, and manage data asynchronously, leveraging Rust's async capabilities for high performance and scalability. The library supports a wide range of ClickHouse data types including Date, DateTime, Decimal, various integer and floating-point types, strings, arrays, nullable types, IP addresses, UUIDs, and boolean values, ensuring comprehensive compatibility with ClickHouse's data model. The client supports connection pooling with configurable minimum and maximum connections, and offers detailed control over connection parameters such as compression (none or lz4), timeouts for connection, queries, inserts, and execution, as well as TCP keepalive and nodelay settings. It also supports load balancing through alternative hosts and retry mechanisms for sending requests, enhancing reliability and fault tolerance. Optional features include support for different asynchronous runtimes like Tokio and async-std, with TLS support available when using Tokio. This flexibility allows developers to integrate the client into various Rust async environments seamlessly. The project is well-documented and includes examples demonstrating how to create tables, insert data, and query data asynchronously. The example code shows how to use the client to create a table, insert a block of data, and fetch query results, iterating over rows to access individual fields. Overall, clickhouse-rs is a specialized library aimed at Rust developers needing efficient, asynchronous access to ClickHouse databases, providing a feature-rich, configurable, and easy-to-use interface for database operations.

https://github.com/suharev7/clickhouse-rs

async-stdasynchronous-clientclickhouseclickhouse-clientcompressionconnection-poolingdata-insertiondata-typesdatabase-clientdatabase-interactionload-balancingquery-executionretry-mechanismrusttimeoutstlstokioyandex-clickhouse

Also in Rust

ClickHouse/clickhouse-rs

clickhouse-rs is the official pure Rust typed client for ClickHouse DB, providing efficient, secure, and feature-rich database interaction capabilities.

Protryon/klickhouse

Klickhouse is a high-performance Rust SDK for accessing Clickhouse databases asynchronously with minimal boilerplate and extensive feature support.