(我只有NoSQL的概念知识,没有工作经验)
我知道以下类型的NoSQL数据库:
Map-Reduce范例是否适用于所有人?我的猜测是没有,因为Map-Reduce经常用键和值来讨论,但由于不同NoSQL存储之间的区别并不那么简洁,我想知道Map-Reduce在哪里是不适用的。而且由于我正在评估哪些数据库用于我的一些应用程序创意,我应该考虑是否有可能实现大规模处理,无论我使用哪个商店。
答案 0 :(得分:1)
支持map reduce可能不应该是您选择数据存储的基础。
首先,map reduce不是进行大规模数据处理的唯一方法。例如,MongoDB早期实现了map reduce支持(在v1中),但后来添加了更加通用的聚合框架,包含了许多可以利用map reduce的任务。
Map reduce只是处理大型数据集的一种范例。如果您的应用程序需要使用映射器处理大量数据记录,然后需要将结果与reducer一起使用,请仅使用 。这才是真的。至于何时适用范式,何时适用范例,只需查看您的用例。您是否需要一致地操纵所有记录然后合并结果?或者是否有其他方式来表达您的问题?
查看Mongo aggregation framework的示例,了解使用聚合的地方作为许多问题的简单替代方法,将这些问题强制转换为map-reduce问题将是过度的。
它还应该帮助您深入了解您是否可以在没有map-reduce的情况下进行大规模数据处理的问题,答案是肯定的。显然,map-reduce有助于制作搜索索引,但是大数据集上的许多问题都可以从其他范例中受益。
关于“地图缩小的替代方案”的网络搜索也会有所帮助。