对数据库的良好设计会在一段时间后降低精度分辨率

时间:2012-07-16 23:33:49

标签: mysql database-design graph

我在数据库中有20,000个数据点,我想在google带注释的图表上显示它。我认为大约2000点是实际使用图表的一个好数字,所以我想使用平均值而不是我拥有的实际数据点。

此数据计算特定时间内的某些频率。它就像表(频率,日期时间)

因此,对于第一周,我将使日期时间间隔为每10分钟,频率将是该时间间隔(10分钟)的所有频率的平均值。同样地,在那之后的一个月里,我将有一个小时的日期时间间隔等。

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

那么这对于什么是好的设计呢?是否已经存在可以执行此类操作的工具? 我已经想到了(尽管可能不太好)一个包含所有20,000点的巨型表格和几个较小的表格,这些表格代表每个时间间隔(1周,1个月等),这些时间间隔是通过查询更大的表格并不断更新和修剪而构建的新的平均值。

1 个答案:

答案 0 :(得分:1)

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

ETL。学习它。爱它。住它。