一个数据库的好设计,降低时间精度的分辨率

问题描述:

我有一个像数据库中的20,000数据点,我想显示它在谷歌注释图。我认为大约2000分是实际使用该图的一个很好的数字,所以我想使用平均值而不是实际的数据点数。一个数据库的好设计,降低时间精度的分辨率

该数据用于统计某个时间段的频率。它会像表(频率,日期时间)

因此,第一个星期我会有每隔10分钟的时间间隔,频率将是该时间间隔(10分钟)的所有频率的平均值, 。同样,在这之后的一个月中,我将有一个小时的日期时间间隔等。

我认为这也是您可以在Google财经上看到的东西,经过一段时间数据点的分辨率降低后,即使放大

那么对此有什么好的设计?是否已有一种工具可用于执行此类操作? 我已经想到了(虽然它可能不是很好)一个巨大的所有20000点的桌子和几个较小的表格,代表每个时间间隔(1周,1个月等),这些时间间隔通过查询到更大的表格并不断更新,用新的平均值修剪。

将原始数据保存在db中的一张表中。有第二个reprti g表,您使用脚本或查询从原始表中填充。无论您需要,填充报告表的转换都可以对存储桶进行分组和平均。重要的是不要在初始插入时转换数据 - 保留所有原始数据。这样,你可以随时回滚或重建,如果你搞砸了。

ETL。学习它。爱它。活着吧。

+0

这不就是我在最后一段所说的吗?无论如何,我可以看到这对我来说很难。改变2万到1百万,仍然希望表格每5-15分钟更新一次。 – Julian 2012-07-17 00:18:07

+0

无论如何,很高兴知道我的自然结论与其他人一样。谢谢你的答案。 – Julian 2012-07-17 00:18:37