The clickhouse-go client provides two API interfaces for communicating with ClickHouse:
- ClickHouse client-specific API
database/sqlstandard - generic interface around SQL databases provided by Golang.
database/sql provides a database-agnostic interface, allowing developers to abstract their data store, it enforces some typing and query semantics that impact performance. For this reason, the client-specific API should be used where performance is important. However, users who wish to integrate ClickHouse into tooling, which supports multiple databases, may prefer to use the standard interface.
Both interfaces encode data using the native format and native protocol for communication. Additionally, the standard interface supports communication over HTTP.
|Native format||Native protocol||HTTP protocol||Bulk write support||Struct marshaling||Compression||Query Placeholders|