Awesome ClickHouseGolang

roistat/go-clickhouse

⭐ 190 Go repository created 2016-06-21

The project "roistat/go-clickhouse" is a Golang connector for Yandex ClickHouse, a high-performance columnar database management system designed to handle extremely large volumes of data efficiently. ClickHouse is known for its ability to manage trillions of database records and billions of events daily, powering platforms like Yandex.Metrica and being used in scientific experiments such as CERN's LHCb. This connector allows Go developers to interact with ClickHouse databases seamlessly. The repository provides functionalities to query data, insert records, and handle external data for query processing. It supports executing SQL queries and iterating over results, making it easy to fetch and manipulate data. The connector also facilitates single inserts with support for functions like converting IP addresses to numeric formats. A notable feature is the support for clusters, enabling load balancing across multiple servers hosting the same distributed table. The cluster management includes health checks for connections, selecting active connections randomly to distribute load, and handling connection failures gracefully. Transport options such as setting timeouts for HTTP connections are also configurable, enhancing the robustness of database interactions. The project includes examples demonstrating querying rows, inserting data, using external data in queries, and managing clusters. Overall, this project is a specialized tool for Go developers needing efficient and reliable access to ClickHouse databases, leveraging ClickHouse's powerful data processing capabilities in a Go environment.

https://github.com/roistat/go-clickhouse

adapterclickhouseclientcluster-managementconnectordata-insertiondatabase-connectordistributed-tablesexternal-datagogolanghttp-transportload-balancingsql-queriestimeoutyandex-clickhouse

Also in Golang

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.

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.

ClickHouse/ch-go

ch-go is a low-level Go client for ClickHouse designed for high-performance data block streaming with minimal overhead and direct protocol implementation.

uptrace/go-clickhouse

A high-performance Go client library for ClickHouse using its native protocol, supporting modern Go features and efficient database operations.

vahid-sohrabloo/chconn

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-io/chdb-go

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.