为什么 TDengine 比 TimescaleDB 消耗的存储空间少这么多?

问题描述

这几天,我在TDengine中插入了大约8000万行数据,结果存储只消耗了大约1GB。与 TimescaleDB 的存储使用量相比,TDengine 只使用了 TimescaleDB 存储空间的 1/15 左右。对于 TimescaleDB,存储消耗通常在 15-18GB 左右,具体取决于架构。

taos客户端显示的TDengine版本为2.0.20.8,TimescaleDB版本为2.2.1

谁能解释为什么与 TimescaleDB 相比,TDengine 消耗的空间要少得多?这种级别的压缩是否会导致数据失去 TDengine 的精度?

解决方法

几个原因,1:TDengine采用列式存储; 2:TDengine的数据模型是每个数据采集点一张表; 3:针对不同的数据类型,采用不同的压缩算法。

由于对于每个数据采集点(数据流),度量值会有所不同,但有时,变化非常小或根本没有变化。基于列的存储很容易获得高压缩率