Golang SQL database client for ClickHouse. There are two version of this client, v1 and v2, available as separate branches. v1 is now in a state of maintenance, we will only accept PRs for bug and security fixes. Uses ClickHouse native format for optimal performance. Utilizes low level ch-go client for encoding/decoding and compression (versions >= 2.3.0). Supports native ClickHouse TCP client-server protocol. Compatibility with database/sql (slower than native interface!). Database/sql supports http protocol for transport. (Experimental). Marshal rows into structs (ScanStruct, Select). Unmarshal struct to row (AppendStruct). Connection pool
Failover and load balancing. Bulk write support (for database/sql use begin->prepare->(in loop exec)->commit). AsyncInsert, named and numeric placeholders support. LZ4/ZSTD compression support. External data.
Features
- Connection pool
- Failover and load balancing
- Supports native ClickHouse TCP client-server protocol
- Compatibility with database/sql (slower than native interface!)
- External data
- LZ4/ZSTD compression support