Mongodb 单节点机器上的MapReduce有意义吗?

Mongodb 单节点机器上的MapReduce有意义吗?,mongodb,mapreduce,Mongodb,Mapreduce,MapReduce的传统定义指出,它是“在集群上使用并行分布式算法处理大型数据集的编程模型” 周末,我尝试了MongoDB,并尝试了一些简单的MapReduce查询。(书中的基本字数问题)。MongoDB的表现非常好,但后来我开始怀疑它是否真的是一个MapReduce操作,或者只是一个简单的分组聚合,因此我的问题是: 对于单节点“集群”,使用MapReduce有意义吗 MapReduce的传统定义指出,它是“在集群上使用并行分布式算法处理大型数据集的编程模型” 我不需要在集群上,单个节点可以通过

MapReduce的传统定义指出,它是“在集群上使用并行分布式算法处理大型数据集的编程模型”

周末,我尝试了MongoDB,并尝试了一些简单的MapReduce查询。(书中的基本字数问题)。MongoDB的表现非常好,但后来我开始怀疑它是否真的是一个MapReduce操作,或者只是一个简单的分组聚合,因此我的问题是:

对于单节点“集群”,使用MapReduce有意义吗

MapReduce的传统定义指出,它是“在集群上使用并行分布式算法处理大型数据集的编程模型”

我不需要在集群上,单个节点可以通过线程或进程实现map和reduce函数。我不知道在执行map reduce时mongodb中的内部动态,但我知道mongodb中的map reduce与Hadoop没有相同的动态

对于单节点“集群”,使用MapReduce有意义吗

对于大量的数据,map和reduce函数需要在分布式环境中执行,因此,不,处理大数据是没有意义的(对于小数据,这是可以的)

意见


抱歉,it部分不是答案,而是开放讨论的声明。在软件系统中,MongoDB的职责应该是保存数据,而不是处理数据。如果有数据处理需求(将为99%),MongoDB MapReduce可以使用,直到达到一定的数据大小(导入以确定阈值之前),那么应该传播到Hadoop集群。(或类似的分布式解决方案)

如果存在无法通过普通查询或聚合框架表示的数据视图,那么是的,这可能是有意义的。除此之外。。。这似乎是一个意见问题?我不明白你的答案,或者你为什么要推Hadoop?只是指出map reduce本身与服务器节点的分布无关,而是与工作节点相关。工人可以是单个机器或专用服务器中的进程或线程。关于推广hadoop,我特意在一个意见标题下对其进行了定义。正如我所说,该声明是开放讨论的。刚刚更新的声明参见paranthesis,防止将单一工具或软件作为唯一的解决方案进行推广。