我目前正在从事一个家庭自动化项目,该项目使用户可以查看一段时间内的能源使用情况。目前,我们每15分钟请求一次数据,并且我们的第一个大型试验预计将有大约2000个用户。

我的老板要求我们至少存储半年的数据。快速求和得出大约3500万条记录。尽管这些记录很小(每个记录大约500字节),但我仍然想知道是否将它们存储在我们的数据库(Postgres)中是正确的决定。

是否有人拥有一些良好的引用资料和/或建议如何处理这些信息?

最佳答案

目前,每条0.5K的3500万条记录意味着37.5G的数据。这适合您的飞行员的数据库,但是您还应该考虑飞行员之后的下一步。当试点取得巨大成功时,您的老板会不高兴,并且您会告诉他,在接下来的几个月中,如果不重新设计所有内容,则无法在系统中添加100.000用户。此外,VIP用户每分钟请求数据的新功能又如何呢?

这是一个复杂的问题,您做出的选择将限制软件的发展。

对于飞行员,请使其尽可能简单,以使产品尽可能便宜->对于数据库来说还可以。但是请告诉老板,您不能像这样打开服务,并且必须在每周增加10.000个新用户之前进行更改。

下一个版本的一件事:有许多数据存储库:一个用于经常更新的用户数据,一个用于查询/统计系统,...

您可以在下一个发行版中查看RRD

还请记住更新频率:2000个用户每15分钟更新一次数据意味着每秒2.2次更新->可以;每5分钟100.000个用户更新数据意味着每秒333.3次更新。我不确定一个简单的数据库能否满足要求,而单个Web服务服务器肯定不能满足要求。

10-01 07:04
查看更多