【发布时间】:2014-02-14 02:52:53
【问题描述】:
我正忙着为我们公司编写一个程序来监控我们的某些系统的性能。
所以基本上每分钟我都会收到当前状态的值。我会将它们存储在数据库中。这一切都很好。
但现在我需要能够生成一份报告(井图),了解其在一段时间内的性能。即小时、日、周、月年。
现在这一切都很好,我可以用时间戳查询它。但是在生成年度报告时,我真的不需要精确到一分钟,然后我需要每年每台机器存储 60*24*568 条记录。
我想了解如何存储所有值,然后汇总它们以减少需要存储的数据量。因此,当我生成年度报告时,它将每 2 天查看一次。它可以每天或每半小时查看一次,而不是每分钟和一个月都一样。
现在我的问题实际上是。如何将其存储在数据库中?
我是否应该为每个汇总版本制作表格,所以分钟 => 小时 => 天 => 周等
或者我是否保留一个包含所有条目的大表,然后使用 sql 对其进行总结等等。
我以前从来没有做过这样的事情,我什至不知道从哪里开始思考。这听起来有点像数据仓库,但请注意这不是一个巨大的规模。它将使用 Web 界面监视 5 个 -10 服务。我的想法实际上是从 Mikrotik Rotuers 那里得到的。我怀疑很多 oyu 会和他们一起工作。但是他们有一个很棒的资源图形系统,它很简单,但可以显示它需要的东西。
像这样:
【问题讨论】:
标签: c# database database-design graph