mongodb 2.2中是否引入了聚合框架,与map/reduce相比有什么特殊的性能改进?

如果是,原因、方式和金额?

(我已经为自己做了一个测试,性能几乎相同)

推荐答案

我个人运行的每个测试(包括使用自己的数据)都显示聚合框架比map reduce快一倍,通常快一个数量级.

仅取你发布的数据的十分之一(但不是清除OS缓存,而是首先加热缓存——因为我想测量聚合的性能,而不是翻页数据所需的时间),我得到了以下结果:

MapReduce:1058ms

从聚合框架中删除$match和从mapReduce中删除{query:}(因为两者都只会使用索引,而这不是我们想要测量的),并根据key2对整个数据集进行分组我得到:

MapReduce:18803ms

这些与我之前的实验非常一致.

Mongodb相关问答推荐

筛选出嵌套数组中的记录Mongo DB聚合

数组中字符串的Mongo查询集合和推送到新数组嵌套对象

根据参考图计算子文档列表的最大值

数组过滤器 MongoDB

Mongodb 按数组元素聚合组

没有mongoose 的 Express 和 MongoDB

MongoDB 查询以包含多个字段的最常见值的计数

如何使用 mongoose 从 MongoDb 获取数据?

Mongo查询子文档的多个字段

Mocking/stubbing mongoose模型保存方法

mongodb 模式设计命名约定

Mongo:统计一组文档中单词出现的次数

mongodb - 查找具有最接近整数值的文档

通过 Spring Boot 应用程序访问 mongodb 时的身份验证错误

如何在 Ruby on Rails 环境中使用 Mongoid 进行通配符搜索?

升级mongodb

MongoDB - Permission denied for socket: /tmp/mongodb-27017.sock

如何将转储文件夹导入 mongodb 数据库?

MongoDB Compass timeouts超时

全局初始化失败:BadValue Invalid or no user locale set.请确保正确设置 LANG 和/或 LC_* 环境变量