加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

NOSQL(六)集群并发计算模型Map-Reduce

发布时间:2020-12-13 13:41:55 所属栏目:百科 来源:网络整理
导读:《NoSQL精粹》读书笔记,转载请注明出处 《jiq?钦's technical Blog》 面向聚合的数据库能够兴起,很大程度上是由于集群的增长。集群不仅改变了数据存储的规则,还改变了数据计算的方式。 集中式数据库通常两种方式处理计算逻辑:一种是在数据库服务器上执行

《NoSQL精粹》读书笔记,转载请注明出处《jiq?钦's technical Blog》

面向聚合的数据库能够兴起,很大程度上是由于集群的增长。集群不仅改变了数据存储的规则,还改变了数据计算的方式。

集中式数据库通常两种方式处理计算逻辑:一种是在数据库服务器上执行数据计算、一种是在客户端计算机上执行数据计算。把数据库放到集群之后,采用的计算方式是将计算分布到多台计算机上,同时为了尝试减少网络传输的数据量,把节点所需的数据尽可能多地放到该节点上执行。这就是所谓的“Map-Reduce计算模型”。

举一个适合于Map-Reduce的场景,考虑客户与订单的例子,因为经常需要一次性访问整个订单,所以将订单作为一个聚合,其中包含多个商品项,每个商品项由<产品ID,数量,价格>组成。然而需要查看最近7天来各个商品的销售总额,这时看到的聚合结构的缺点,为了获得这个销售报表,需要访问所有订单聚合,也就是说需要访问集群中所有机器。采用Map-Reduce正好可以解决这个问题,map函数在每台机器上运行,以订单作为输入,以商品id和销售额的键值对作为输出,Reduce将所有这些键值对进行归并得出最终结果。

更多的适合于Map-Reduce的例子如经典的wordCount,PageRank,InversedIndex等。

MapReduce特点:

u MapReduce是在集群上执行并发计算的模式

u Map从聚合中读取数据,缩减为键值对,在所有节点上并发执行

u Map的输出是许多具备同一关键字的值,而Reduce则将它们化简为单一的输出值,每个Reduce函数只操作与单个键相关的Map结果。所以Reduce可以根据关键字并发执行

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读