ClickHouse / ClickHouse/clickhouse-rs
Support Native format over HTTP
- Dominant language
- Rust
- Stars
- 559
- Forks
- 172
- Avg merge
- 1d 19h
- Merged PRs (30d)
- 3
Description
This is the foundational building block for https://github.com/ClickHouse/clickhouse-rs/issues/336. Adding `Native` as a high-efficiency columnar format over HTTP delivers significant value that is largely orthogonal to [TCP protocol support](https://github.com/ClickHouse/clickhouse-rs/issues/226). The users get columnar performance over the transport they already use.
Scope
- [ ] Read and write dynamic record batches over HTTP using ClickHouse's Native wire format.
- [ ] API shape inspired by the Arrow API model (column-oriented batches), but built directly on Native
- [ ] Evaluate and, where suitable, integrate code from https://github.com/ClickHouse/clickhouse-rs/pull/407
- [ ] Adapt [existing benchmarks](https://github.com/ClickHouse/clickhouse-rs/tree/main/benches) to cover the new Native APIs alongside the current serde path
Contributor guide
Research direction
Start by reading the related issue 336, the TCP protocol issue 226, and pull request 407 to understand the intended Native integration. Inspect the existing benchmarks in benches and the current serde path before defining the column-oriented HTTP API. Done means dynamic record batches can be read and written over HTTP in Native format, with suitable benchmarks covering the new APIs.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- api, backend, database
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100