来自多个 TimescaleDB Hypertables 的连续聚合可能有什么问题?

问题描述

我的 Postgres 数据库中有几个时间序列数据表,我最近将它们转换为 TimescaleDB hypertables我有一个巨大的物化视图,但需要很长时间才能让人耳目一新。出于这个原因,我想使用 TimescaleDB Continuous Aggregates。不幸的是,这给出了一个错误说:

错误:SELECT 查询中只允许 1 个超表进行连续聚合

所以我计划通过简单地创建一个新表并每 10 分钟左右计算/附加新记录来构建我自己的连续聚合。一位同事建议,也许时间尺度人员有充分的理由不允许来自多个超级表的连续聚合,但我只是不知道它会是什么。

我创建了 an issue about it on their github page,但目前我还没有收到任何回复。所以在我开始构建我自己的连续聚合之前,我想我会问你来自 stackoverflow 的聪明人。

有谁知道 TimescaleDB 人员不允许来自多个超级表的连续聚合的原因是什么?在自己构建类似的东西时,您会看到哪些挑战?

解决方法

连续聚合的思想是只刷新当前窗口上的热点数据,不触及旧数据。但是,在带有连接的视图查询的情况下,并不总是可以计算当前增量到连续聚合实现。如果连接需要检查旧数据,则会降低性能。

说到这里,在某些用例中,应该可以支持有限的连接查询,限制可能会影响哪些地方,可以连接哪些表以及连接条件和过滤器应该是什么。

我建议在问题中向 TimescaleDB 描述您的情况,以便在设计功能时考虑。