Asp.net 气象站数据库设计,每秒接收传感器数据

Asp.net 气象站数据库设计,每秒接收传感器数据,asp.net,sql,database,weather,Asp.net,Sql,Database,Weather,如果我每秒存储一次数据,数据库将快速增长。我需要几周/几个月前测量的更少细节。一个平均值就足够了。我有5个传感器:风速、风向、温度、光线和雨水。如何设计我的数据库?好吧,我会为当前数据设计一个表,然后是包含聚合数据的表。每隔一段时间(可能是一周/一周/一个月)我会聚合数据,将其写入表中,并将其从当前数据中删除 对于我需要的每个聚合级别,我会有完全相同的表(字段:测量id、风速、风向、温度、光照和降雨、时间戳) 每周测量 测量值\每日\平均值 测量值\每周\平均值 测量值\每月\平均值 测量值\年

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

好吧,我会为当前数据设计一个表,然后是包含聚合数据的表。每隔一段时间(可能是一周/一周/一个月)我会聚合数据,将其写入表中,并将其从当前数据中删除

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

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

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

    这是家庭作业吗?帮助做家庭作业没有问题,但如果是这样,你会做得更好,如果你展示你到目前为止所做的,并要求对其进行回顾或提出有关方面的具体问题。家庭作业是为了你的利益。如果你发布一个你做过的设计,并请别人审阅,而不仅仅是让别人帮你做,你可能会得到更多的帮助。