1 个不稳定版本
0.0.1 | 2023年7月2日 |
---|
#32 in #clickhouse
34KB
818 行
Streamhouse —
一个返回行流的高性能 ClickHouse 客户端。
- 使用简单的
Row
特性(不是serde
!)进行行编码/解码。 - 使用
RowBinaryWithNamesAndTypes
编码以确保类型安全。 - 支持 HTTP(和 HTTPS)。
- 提供选择 API。
- 提供插入 API。
- 待办事项:压缩和解压缩(LZ4)。
与 clickhouse
crate 的比较
- 两者提供相似的性能,其中
clickhouse
稍快一些。 - 与
clickhouse
不同,它 有一个不安全的 API,而streamhouse
不使用不安全(因此提供了一个安全的 API)。 streamhouse
提供了一个futures::Stream
行流,而clickhouse
只创建了一个类似于流的RowCursor
。- 在
clickhouse
中,如果两列顺序颠倒,可能会产生错误结果。使用streamhouse
,这种错误会被捕获并报告。 - 由于
clickhouse
在内部使用serde
,因此不方便创建一个可以与 ClickHouse 内部表示不同(例如,在转换为 JSON 时)的序列化类型。streamhouse
使用自己的特性,因此您的类型可以具有与 ClickHouse 列相比的独立表示,以及您可能希望使用的其他序列化。
依赖项
~7–16MB
~198K SLoC