0

For the past few days, I have inserted around 80 million rows of data into TDengine, and it turns out the storage only consumes around 1GB. Compared with TimescaleDB's storage usage, TDengine only uses around 1/15 of TimescaleDB's storage space. For TimescaleDB, the storage consumption is usually around 15-18GB depending on the schema.

The TDengine's version was 2.0.20.8 shown on taos client, and the version of TimescaleDB was 2.2.1

Can anyone explain why TDengine consume so much less space compared with TimescaleDB? is this level of compression going to cause the data to lose its precision for TDengine?

  • 1
    Do you have compression turned on and working in Timescale? https://docs.timescale.com/timescaledb/latest/how-to-guides/compression/ – davidk Jul 29 '21 at 15:38
  • wal_compression has turned on. Other parameters are not being modified. – Feng Bryant Jul 30 '21 at 07:43
  • You have to turn on TimescaleDB's compression mechanism by following the docs there in order to reduce the storage space Timescale uses. – davidk Aug 05 '21 at 13:58

1 Answers1

1

A few reasons, 1: TDengine adopts column based storage; 2: TDengine's data model is one table for each data collection point; 3: For different data type, different compression algorithm is applied.

Since for each data collection point(data stream), the metric value varies, but sometimes, the variation is very small or no change at all. It's very easy to get high compression ratio for column based storage

Jeff Tao
  • 11
  • 2