Skip to main content

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 之前的版本,数据将不能被识别