mailru/go-clickhouse
A Golang SQL database driver for Yandex ClickHouse using the official HTTP interface, supporting extensive ClickHouse features and integration with tracing tools.
The project "clickhouse-go" is a Golang SQL database client specifically designed for ClickHouse, a high-performance columnar database management system. This client provides a native interface to ClickHouse using its TCP client-server protocol, ensuring optimal performance by utilizing the native ClickHouse format for encoding, decoding, and compression. It leverages the low-level ch-go client for these operations, supporting advanced features such as LZ4 and ZSTD compression. The client supports both a native interface and the standard Go database/sql interface, with the latter also supporting HTTP protocol transport experimentally. It offers a rich set of features including connection pooling, failover, load balancing, bulk write support, asynchronous inserts, and support for named and numeric placeholders in queries. The client also supports marshaling and unmarshaling of rows to and from Go structs, making it easier to work with structured data. Advanced ClickHouse protocol features are accessible through context, including query ID, quota key, settings, query parameters, OpenTelemetry integration, and execution events like logs, progress, profile info, and profile events. The client is tested against all currently supported versions of ClickHouse and supports a range of Go versions, ensuring compatibility and stability. The project provides detailed documentation and examples for usage, including how to open connections using both native and database/sql interfaces, configure connection options, and use features like batch inserts and query parameters. It also supports HTTP proxy configuration and secure connections with TLS/SSL. Overall, clickhouse-go is a comprehensive and performant Go client for ClickHouse, designed to leverage the full capabilities of the ClickHouse database while providing a user-friendly API for Go developers.
https://github.com/ClickHouse/clickhouse-go
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.
chconn is a high-performance, low-level Go driver for ClickHouse that supports all ClickHouse data types, batch operations, TLS, and compression protocols, optimized for speed and efficiency.
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.