单机版TDEngine如何实现历史数据降频,并删除冗余的数据

【TDengine 使用环境】
测试环境

【TDengine 版本】

3.3.6.3 Community

【操作系统以及版本】

RHEL9.3

【部署方式】

非容器部署

【描述业务影响】

您好,目前我的时序数据库是每5分钟采集数据,但是现在有一个需求是,超过30天的数据,需要降频到每小时,并删除多余的数据,请问这个目前TDEngine能实现吗,还是得在业务系统中实现?
我想的方法是通过这条sql查出需要的数据:

SELECT first(*) FROM xxxx.xxx where ts < NOW - 30d interval(1h)
然后根据主键删除,这种方式not in中的条件太多会不会影响到性能.
DELETE FROM xxxx.xxx where ts NOT IN (xxxx) AND ts < NOW -30d

1、请参考使用 rsma功能: 降采样存储 | TDengine 文档 | 涛思数据

2、但rsma 需要在多级存储的支持,这个需要企业版才行。

还有一个方式,需要使用流计算功能,大概步骤:

  1. 创建流计算,以天或小时为单位,自动计算汇聚数据,并插入新的汇总库及超级表;
  2. 当前明细数据库以keep控制保存周期为30天。
    流计算在3.4.0版本进行了多次优化,建议你使用3.4.0.1版本。