基础知识
注意
客户端协议参考文档正在编写中。
目前大部分示例仅提供 Go 语言版本。
本文档描述了 ClickHouse TCP 客户端使用的二进制协议。
Varint
对于长度、数据包代码以及其他场景,采用 无符号 varint 编码。 请使用 binary.PutUvarint 和 binary.ReadUvarint。
注意
有符号 varint 不会被使用。
字符串
可变长度字符串编码为 (length, value),其中 length 为 varint,value 为 UTF-8 字符串。
参考资料
校验长度以防止 OOM:
0 ≤ len < MAX
- 编码
- 解码
- 十六进制转储
- Base64
- Go
整数
提示
ClickHouse 对固定大小的整数采用 小端序(Little Endian) 存储。
Int32
- 十六进制转储
- Base64
布尔值
布尔值使用单个字节表示,1 为 true,0 为 false。