ClickHouse/clickhouse-go
clickhouse-go is a Golang SQL database client providing a native and database/sql interface for efficient and feature-rich interaction with ClickHouse.
The project "chconn" is a low-level database driver specifically designed for ClickHouse, implemented in Go (Golang) language. It uses the native protocol of ClickHouse to provide a fast, efficient, and performant connection interface. The driver supports Go generics (from version 1.18 onwards) for handling column types, which enhances type safety and performance. It includes a connection pool with hooks for custom connection setup, similar to the pgx library, and supports both DSN and query connection strings. chconn supports all ClickHouse data types, including various integer types (UInt8 to UInt256, Int8 to Int256), date and time types, decimal types, IP addresses, strings, UUIDs, arrays, enums, low cardinality types, maps, tuples, nullable types, and geometric types like points and polygons. It reads and writes data in a column-oriented manner, aligning with ClickHouse's architecture, and avoids using reflection or empty interfaces to maintain performance. The driver supports batch operations for selecting and inserting data, full TLS connection control, raw binary data reading, and telemetry features such as execution profiles and progress streaming. It also supports compression protocols like LZ4 and ZSTD. The project provides benchmarks comparing its performance with other Go ClickHouse libraries, showing superior speed and lower memory allocations. An example usage demonstrates creating a connection pool, executing SQL commands to create and drop tables, inserting millions of rows efficiently, and selecting data with error handling. The project is well-documented, with badges indicating code quality, test coverage, and continuous integration status. Overall, chconn is a robust, high-performance Go driver for ClickHouse, suitable for applications requiring efficient and scalable database interactions with ClickHouse, leveraging modern Go features and optimized for speed and low resource consumption.
https://github.com/vahid-sohrabloo/chconn
clickhouse-go is a Golang SQL database client providing a native and database/sql interface for efficient and feature-rich interaction with ClickHouse.
A Golang SQL database driver for Yandex ClickHouse using the official HTTP interface, supporting extensive ClickHouse features and integration with tracing tools.
ch-go is a low-level Go client for ClickHouse designed for high-performance data block streaming with minimal overhead and direct protocol implementation.
A high-performance Go client library for ClickHouse using its native protocol, supporting modern Go features and efficient database operations.
A Golang connector for Yandex ClickHouse enabling efficient querying, data insertion, and cluster management for large-scale data processing.
chdb-go provides Go bindings and a CLI for chDB, an in-process SQL OLAP engine powered by ClickHouse, enabling SQL query execution and database management within Go applications.