我每 30 秒收到一次统计数据,我想将这些数据存储在我的数据库中,以便以后进行分析。例如,每 30 秒我就可以收到过去 30 秒内商店售出的橙子数量。后来,我想从数据库中检索这些数据,并使用它来生成图表,显示过去 24 小时、过去 x 周、过去 x 个月和过去 x 年商店出售的橙子数量等信息。
如果我只是将所有内容都转储到一张表中,它似乎会增长得非常快,特别是如果您有很多数据源(存储)。我的想法是可以对数据进行平均,以便随着时间的推移减少粒度。也就是说,保留过去几个小时的详细记录(每 30 秒在数据库中记录一次),然后可能是过去几周平均 15 分钟的时间跨度,然后保留过去几个月每天的平均值,等等.
通过这种方式,您将拥有大量最近的记录、大量相对较旧的记录和一些旧记录。然而,所有数据仍然存在,它只是在几天或几个月内汇总并平均为一个条目,而不是 30 秒。
这种方法有意义吗?有没有更好的方法?我如何将它组织成一张桌子?会是多张桌子吗?SQL(可能是 MySQL)是一个很好的选择还是会更好?对此的任何想法将不胜感激!