试图绕过timescaledb,但是我的google-fu让我失望了。很有可能是因为我没有搜索正确的词。
使用RRD工具,可以将旧数据作为平均值存储,从而减少了存储的数据量。
我似乎无法找到如何使用timescaledb做到这一点。我想在90天之内得到5分钟的分辨率,但是在那之后,保留所有这些数据点毫无意义,我想将其降低到几年中30或60分钟的平均值,然后再将其降低为每天的平均值。
这是我可以在数据库本身中设置的东西,还是在整理工作中必须实现的东西?
答案 0 :(得分:1)
半年前,我们有完全相同的问题。
timescaledb团队也使用术语“数据保留”。当前使用drop_chunks
策略(请参见their doc here)来实现。这是一项企业功能,但恕我直言(尚未)(应该)应该/应该使用的那样有用(而且它肯定不能满足您的需求)。
让我解释一下:对数据进行下采样的最简单方法可能是连续聚合(their doc here)。您可以轻松地将几乎任何数值汇总到所需的分辨率。但是,连续聚合也将受到drop_chunks
删除的影响。您的数据不见了。
一种解决方法是改为创建其他Hypertable。然后,创建自己的后台工作人员,将数据从原始的高分辨率表复制到这些新的高分辨率超级表。 对于内部整理,请使用Data Retention Enterprise功能或创建自己的后台工作人员。