timescaledb 中的数据保留

Tro*_*roy 3 postgresql rrdtool timescaledb

试图将我的注意力集中在 timescaledb 上,但我的 google-fu 失败了。很可能是因为我没有寻找正确的术语。

使用RRD工具,可以将旧数据存储为平均值,从而减少存储的数据量。

我似乎不知道如何使用 timescaledb 来做到这一点。我想要 90 天的 5 分钟分辨率,但在那之后,保留所有这些数据点是没有意义的,我想在几年内将其减少到 30 或 60 分钟的平均值,然后可能是之后的每日平均值。

这是我可以在数据库本身中设置的东西,还是我必须在内务工作中实现的东西?

小智 5

半年前我们也有同样的问题。

timescaledb 团队也使用术语“数据保留”。目前它是使用drop_chunks策略来实现的(请参阅此处的文档)。这是一项企业功能,但恕我直言,它(还)还没有达到它可以/应该发挥的作用(而且它肯定不会满足您的需求)。

让我解释一下:对数据进行下采样的最简单方法可能是连续聚合(他们的文档在这里)。您可以非常轻松地将几乎任何数值聚合到您想要的任何分辨率。但是,连续聚合也会受到删除的影响drop_chunks。你的数据不见了。

一种解决方法是创建其他超级表。然后,创建您自己的后台工作人员,将数据从原始的高分辨率表复制到这些新的低分辨率超表。对于内务管理,可以使用 Data Retention Enterprise 功能或创建您自己的后台工作人员。