Parallel processing MongoDB:What';在没有并行性的情况下使用MapReduce有什么意义?

Parallel processing MongoDB:What';在没有并行性的情况下使用MapReduce有什么意义?,parallel-processing,mongodb,mapreduce,Parallel Processing,Mongodb,Mapreduce,引用 截至目前,MapReduce上的作业 单一mongod过程是单一的 螺纹的。这是由于一个设计 当前JavaScript中的限制 引擎。我们正在调查 解决这个问题的替代方案,但是 现在如果你想并行化 您的MapReduce作业将需要 使用切分或执行以下操作: 代码中的聚合客户端 如果没有并行性,与查询和数据聚合的更简单或更传统的方法相比,MapReduce有什么好处 为了避免混淆:问题不是“面向文档的数据库相对于传统关系数据库有什么好处”在更简单或更传统的查询中使用MapReduce的主要原

引用

截至目前,MapReduce上的作业 单一mongod过程是单一的 螺纹的。这是由于一个设计 当前JavaScript中的限制 引擎。我们正在调查 解决这个问题的替代方案,但是 现在如果你想并行化 您的MapReduce作业将需要 使用切分或执行以下操作: 代码中的聚合客户端

如果没有并行性,与查询和数据聚合的更简单或更传统的方法相比,MapReduce有什么好处


为了避免混淆:问题不是“面向文档的数据库相对于传统关系数据库有什么好处”

在更简单或更传统的查询中使用MapReduce的主要原因是它可以做一些简单查询无法做的事情(即聚合)

一旦需要聚合,使用MongoDB有两个选项:MapReduce和group命令。group命令类似于SQL的“GROUPBY”,其局限性在于它必须在单个数据库响应中返回所有结果。这意味着只有当您的结果少于4MB时,才能使用该组。另一方面,MapReduce可以做“分组依据”可以做的任何事情,但会将结果输出到新集合,这样结果就可以根据需要任意大


此外,并行性即将到来,因此最好进行一些实践:)

M/R在MongoDB中已经是并行的,如果您运行的是分片集群。无论如何,这是M/R的要点——将计算与数据放在同一个节点上。

超级快速映射/还原已在路线图上

它不会出现在1.6版(夏季版)中


今年晚些时候,我是否正确地假设,当前利用多核计算机的方式是在同一台机器上运行多个MongoDB实例?哪个版本将获得并行性?MongoDB mapReduce的JS引擎是否有任何更新?它现在提供并行性了吗?