【问题标题】:Weather station database design, receiving every second sensor data气象站数据库设计,每秒接收传感器数据
【发布时间】:2010-12-11 10:01:48
【问题描述】:

如果我每秒存储一次数据,数据库就会快速增长。我需要更少的几周/几个月前的测量细节。一个平均值就足够了。我有 5 个传感器:风速、风向、温度、光和雨。我将如何设计我的数据库?

【问题讨论】:

  • 这是作业吗?帮助家庭作业没问题,但如果是这样,你会做得更好,如果你展示你到目前为止所拥有的并要求审查那个或有关方面的具体问题。功课是为了你的利益。
  • 如果您发布自己参与过的设计并要求人们对其进行审核,而不是仅仅要求其他人为您完成工作,您可能会获得更多帮助。

标签: asp.net sql database weather


【解决方案1】:

好吧,我会为当前数据设计一个表格,然后为汇总数据设计一个表格。每隔一段时间(可能是每晚/每周/每月运行一次),我会汇总数据,将其写入表并从当前数据中删除。

对于我需要的每个聚合级别,我都会有完全相同的表格(字段:测量 ID、风速、风向、温度、光和雨、时间戳)。

  1. measurements_weekly
  2. measurements_daily_average
  3. measurements_weekly_average
  4. measurements_monthly_average
  5. measurements_yearly_average

这有几个优点: 数据可以单独管理(备份/详细报告等)。 您只需要一个用于所有聚合级别的聚合过程,并使用不同的时间跨度和表格作为参数运行它。对任何表的查询和分析都将快速且高效。

如果您不喜欢看似多余的结构,那么两张表也足够了: 一个用于测量,一个用于聚合测量,然后必须包含时间跨度。但是这种方法会给您的聚合例程和任何分析带来复杂性,因此我不会使用它。

【讨论】:

    猜你喜欢
    • 2015-12-08
    • 1970-01-01
    • 2010-12-05
    • 2011-09-21
    • 2011-03-18
    • 2011-09-21
    • 1970-01-01
    • 1970-01-01
    • 2016-05-27
    相关资源
    最近更新 更多