数据压缩
ByConity支持对列表的Codec,即压缩和解压缩数据的方法,目的是为了节省存储空间和提高I/O性能。
通用编码
ByConity支持了四种通用编码:lz4 / lz4hc / zstd / deflate_qpl。其中lz4归属于快速压缩算法,而压缩效率并非其追求的主要目标,因此其压缩比率较zstd低。Intel的IAA(Intel Advanced Analytics)平台支持qpl编码,因此在该平台上可以考虑使用qpl。文档的链接给出了编码的详细参考。
特殊编码
ByConity也支持了几种特殊编码,可以和通用编码一起使用,包括:Delta / DoubleDelta / Gorilla / FPC / T64。其中,对于时序数据可以考虑使用DoubleDelta编码,对于随时间变化的值可以考虑使用Gorilla编码。对于64位浮点数,FPC编码效果良好。T64编码则是寻找64个值的共同高位进行裁剪,只记录变化的部分。
最佳实践
- DateTime 类型: 未排序,建议用 Delta+LZ4
- DateTime 类型:排序,建议用 LZ4
- Date 类型:未排序,建议用 ZSTD
- Date 类型:排序(例:PK),建议用 LZ4