据我所知,聚合框架和MapReduce都有相同的目标,但我的问题是,何时应该使用MapReduce和聚合框架?
答案 0 :(得分:3)
Map reduce非常适合长期聚合任务,可能需要10分钟到10个小时(或更长时间)才能完成。
想象一下聚合框架在类似于SQL GROUP
等运算符的情况下类似。
它实际上是为快速内联查询返回结果而设计的,但map reduce适用于更大的作业,并非专为内联使用而设计。
答案 1 :(得分:1)
聚合框架对分片集合有限制,您必须使用MapReduce。
答案 2 :(得分:1)
参考:http://docs.mongodb.org/manual/core/aggregation/
我的理解是,当您处理大量数据时,与Aggregation框架相比,MapReduce的性能会更好。