哪种架构在性能方面会很好



我正在为MongoDB创建模式,我有两种类型的性别集合模式。我想知道哪一个更适合读取数据(集合可能包含数百万条记录,所以我现在无法实际评估,所以请不要"说尝试样本数据")

一种是数组类型:

"gender": [{
            "GenderType":M/F/U,
            "total:logins": 12,
            "totaluser": 20,
            "newuser": 11
     },
     {
           "GenderType":M/F/U,
           "total:logins": 12,
           "totaluser": 20,
           "newuser": 11
     },
     {
          "GenderType":M/F/U,
          "total:logins": 12,
          "totaluser": 20,
          "newuser": 11
     }
]

其次是对象类型。

"gender": {
     "male": {
          "total:logins": 12,
          "totaluser": 20,
          "newuser": 11
     },
     "female": {
          "total:logins": 11,
          "totaluser": 10,
          "newuser": 10
     }
     "unknown": {
          "total:logins": 11,
          "totaluser": 10,
          "newuser": 10
     }
}

优先 级

  1. 性能
  2. 存储
  3. 可维护性

当您说"读取"数据时,它可能取决于您要执行的查询类型。您是总是阅读整个文档,还是打算过滤掉性别类型并对内容执行数学功能?数组通常需要MapReduce或聚合框架来处理某些类型的查询。这在大型集合上可能很昂贵,而处理"女性"对象的集合可以更声明性地编写和处理。

你能详细说明你想用数据做什么吗?你可能会得到一个更明确的答案。

相关内容

  • 没有找到相关文章

最新更新