使用mongoDB中的时间序列数据进行多个传感器测量

时间:2015-01-27 09:29:50

标签: mongodb schema real-time time-series

我安装了50个传感器和一个传感器网关。网关提供每分钟的传感器测量(温度,湿度等),此动作以这种形式全天候运行:

{
  measurement_timestamp: ISODate("2013-10-10T23:06:00.000Z"),
  type: “temperature”,
  sensor_data: {
    sensor_0: 19.1,
    …  
    sensor_37: 22,
    sensor_38: 23.7,
    … 
    "sensor_id": sensor_temp
  }
}

我正在考虑使用时间序列数据作为模式设计,根据这种结构将这些值存储在MongoDB中:

{
  timestamp_day: ISODate("2013-10-10T00:00:00.000Z"),
  sensor_id: “1”,
  hours: {
    0:{
       0: 22,
       …  
       37: 23.1,
       38: 19,
       … 
       59: sensor_temp
      },
    …  
    1: 
    2:,
    … 
    23:
  }
}

http://blog.mongodb.org/post/65517193370/schema-design-for-time-series-data-in-mongodb

但是,选择此模式意味着每分钟更新50个不同的文档(每个传感器一个)。应用程序需要查询实时传感器测量值(所有传感器的最新值)和指定数量传感器的访问历史记录。此外,还可以向组添加传感器。整个过程将在不同的安装中重复。

文档中引用的每个安装或安装ID是否应该有不同的集合?

如果有人知道另一种适合该案例的有效结构,请详细说明。

0 个答案:

没有答案