MongoDB $推动性能不好(我应该改变我的数据结构)吗?

时间:2013-09-23 11:25:54

标签: mongodb

我是一名MongoDB新手并且开发了一个应用程序,它可以保存大量日志(每天约900万)。

应用程序跟踪有200,000台设备,我计划将每台设备的日志保存为(其中_id是deviceID):

{
  "_id" : 6,
  "r" : [{
      "t" : 980,
      "dt" : 123432534543543.0
    }, {
      "t" : 980,
      "dt" : 123432534543543.0
    }, {
      "t" : 980,
      "dt" : 123432534543543.0
    }]
}

用$ push更新数组(也使用upsert)。

但是,这种方法似乎存在性能问题(人们说,更新阵列不是一个好主意)。

或者,我可以将每个日志添加为新文档,如:

{
  "monitorID" : 6,
  "t" : 980,
  "d" : 123432534543543.0,
  "_id" : ObjectId("523ff7c0d43023200f000001")
}

但是,我必须为monitorID添加一个索引并搜索数百万个日志而不是200,000个日志。并且,保持这样的数据听起来像是在MySQL中保留它并且没有NoSQL的优势。

我愿意接受任何建议,以找到最佳的读/写性能。太多了。

0 个答案:

没有答案