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

时间:2010-12-11 10:01:49

标签: asp.net sql database weather

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

1 个答案:

答案 0 :(得分:0)

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

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

  1. measurements_weekly
  2. measurements_daily_average
  3. measurements_weekly_average
  4. measurements_monthly_average
  5. measurements_yearly_average
  6. 这有几个好处: 数据可以单独管理(备份/详细报告等)。 您只需要一个聚合过程用于所有聚合级别,并使用不同的时间跨度和表作为参数运行它。任何表上的查询以及分析都将是快速且高效的。

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