mongodb 2.2引入的聚合框架,相比map/reduce有什么特别的性能提升吗?
如果是,为什么以及如何以及多少钱?
(我自己已经做过测试,性能差不多)
最佳答案
我亲自运行的每个测试(包括使用您自己的数据)都表明聚合框架比 map reduce 快几倍,并且通常快一个数量级。
只取您发布的数据的 1/10(但不是清除操作系统缓存,而是先预热缓存 - 因为我想测量聚合的性能,而不是需要多长时间来分页数据)我得到了这个:
MapReduce:1,058 毫秒
聚合框架:133ms
从聚合框架中删除 $match 和从 mapReduce 中删除 {query:} (因为两者都只使用索引,这不是我们想要测量的)并按我得到的 key2 对整个数据集进行分组:
MapReduce:18,803 毫秒
聚合框架:1,535ms
这些和我之前的实验非常吻合。
关于performance - Mongodb聚合框架比map/reduce更快吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13908438/