suharev7/clickhouse-rs
An asynchronous Rust client library for efficient and feature-rich interaction with Yandex ClickHouse databases.
The project clickhouse-rs is the official pure Rust typed client for ClickHouse DB, designed to provide a robust and efficient interface for interacting with ClickHouse databases. It leverages Rust's strong typing and serde for encoding and decoding rows, supporting serde attributes like skip_serializing, skip_deserializing, and rename. The client uses RowBinary encoding over HTTP transport with plans to switch to Native over TCP, ensuring efficient data transmission. It supports TLS for secure connections and compression methods such as LZ4 and LZ4HC to optimize data transfer. The API offers comprehensive functionality including selecting, inserting, infinite transactional inserting, and watching live views, making it versatile for various database operations. It also provides mocks for unit testing, facilitating development and testing processes. The client supports creating and reusing connection pools for efficient resource management. Users can perform queries with placeholders and bind values dynamically, fetch rows conveniently, and handle buffering on the server-side to avoid errors during data retrieval. Batch inserts are supported with atomicity guarantees under certain conditions, and infinite inserting is available with configurable thresholds for bytes, rows, and time periods to manage load effectively. The client also supports performing DDL operations and watching live views with caution due to potential issues. Feature flags allow customization of functionality such as compression, inserter, testing utilities, live view watching, and integration with UUID, time, and chrono crates. TLS support can be enabled via native-tls or rustls-tls features. Overall, clickhouse-rs is a powerful and flexible Rust client tailored for ClickHouse, enabling efficient, secure, and feature-rich database interactions suitable for a wide range of applications.
https://github.com/ClickHouse/clickhouse-rs
An asynchronous Rust client library for efficient and feature-rich interaction with Yandex ClickHouse databases.
Klickhouse is a high-performance Rust SDK for accessing Clickhouse databases asynchronously with minimal boilerplate and extensive feature support.