TSZ 压缩算法
TSZ 压缩算法是 TDengine 为浮点数据类型提供的可选压缩算法,可以实现浮点数有损至无损全状态压缩,相比默认压缩算法, TSZ 压缩算法压缩率更高,即使切至无损状态,压缩率也会比默认压缩高一倍。
适合场景
- TSZ 压缩算法是通过数据预测技术完成的压缩,所以更适合有规律变化的数据
- TSZ 压缩时间会更长一些,如果您的服务器 CPU 空闲多,存储空间小的情况下适合选用
使用步骤
- TDengine 支持版本为 3.2.0.0 或以上
- 开启选项 在 taos.cfg 配置中增加以下内容,即可开启 TSZ 压缩算法,功能打开后,会替换默认算法。 以下表示字段类型是 float 及 double 类型都使用此压缩算法,也可以单独只配置一个
lossyColumns float|double
- 配置需重启服务生效
- Taosd 日志输出以下内容,表明功能已生效:
02/22 10:49:27.607990 00002933 UTL lossyColumns float|double
配置参数
fPrecision
FLOAT 类型精度控制:
属性 | 说明 |
---|---|
适用范围 | 服务器端 |
含义 | 设置 float 类型浮点数压缩精度 |
取值范围 | 0.1 ~ 0.00000001 |
缺省值 | 0.00000001 |
补充说明 | 小于此值的浮点数尾数部分将被截取 |
dPrecision
DOUBLE 类型精度控制:
属性 | 说明 |
---|---|
适用范围 | 服务器端 |
含义 | 设置 double 类型浮点数压缩精度 |
取值范围 | 0.1 ~ 0.0000000000000001 |
缺省值 | 0.0000000000000001 |
补充说明 | 小于此值的浮点数尾数部分将被截取 |
ifAdtFse
TSZ 压缩中可选择的算法 FSE,默认为 HUFFMAN:
属性 | 说明 |
---|---|
适用范围 | 服务器端 |
含义 | 使用 FSE 算法替换 HUFFMAN 算法, FSE 算法压缩速度更快,但解压稍慢,追求压缩速度可选用此算法 |
取值范围 | 0:关闭 1:打开 |
缺省值 | 0:关闭 |
注意事项
- 打开 TSZ 后生成的存储数据格式,回退至 3.2.0.0 之前的版本,数据将不能被识别