1 个不稳定版本

0.0.1 2023年7月2日

#32 in #clickhouse

MIT/Apache

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