在数据库中存储大量数据

Exe*_*ian 5 database postgresql home-automation

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

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

有没有人有一些好的参考资料和/或关于如何处理这么多信息的建议?

jfg*_*956 4

目前,每条 0.5K 的 35M 记录意味着 37.5G 的数据。这适合您的试点数据库,但您还应该考虑试点后的下一步。当试点取得巨大成功并且您会告诉他如果不重新设计一切就无法在接下来的几个月内向系统添加 100,000 个用户时,您的老板不会高兴。此外,VIP用户每分钟请求数据的新功能怎么样……

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

对于试点来说,保持尽可能简单,以尽可能便宜的价格推出产品 --> 对于数据库来说可以。但告诉你的老板,你不能像那样开放服务,并且在每周获得 10,000 个新用户之前你必须做出改变。

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

您可以查看下一个版本的RRD 。

还要记住更新频率:2000 个用户每 15 分钟更新一次数据意味着每秒 2.2 次更新 --> 好的;每 5 分钟有 100.000 个用户更新数据,意味着每秒有 333.3 次更新。我不确定一个简单的数据库能否跟上这个速度,而单个 Web 服务服务器绝对不能。