Map/Reduce,a new start

  Map/reduce 是一种处理海量数据的分布式模型,是在一种运行在专门为大规模数据处理组建的集群上程序框架,它的技术基础是大家所熟知的并行和分布式处理,现在在工业界和学术可以说有很大的影响,不容小视。

什么是海量数据,为什么要用map/reduce这是最基本的问题。对于海量数据举个例子来说,Google用Map/Reduce处理的数据量从2004年起,每天以100TB的数量增长,候他要每天用Map/Reduce处理20PB的数据。2009年eBay的两个用户数据库的数据局量分别是是2PB和6.5PB,而且用户数据记录每天以150billion的数量增长。FaceBook也是也是个数据大户。计算量比较大的两个领域,天体计算和气象计算数据量就更不用说了。而说道Map/reduce就必须说到云计算。大家都觉得云计算很虚,但是现在真实的云计算就在我们身边。其实任何一种跑在浏览器上的,那些我们能够获取和存储信息,数据的应用都可以看作是一种云计算。比如You-Tube,Gmail,Google Docs等等。一般云计算有三种模式,Iaas,Paas,Saas。我们所熟知的Google App Engine就是一种Paas。

云计算的主要思想来源就是,它希望这种模式能够把计算当作像我们生活中的电或者天然气一样来销售,盈利。云提供者能够提供服务。消费者需要服务,二者双赢。用户在计算一个需要数据量非常大的应用时,有时候需要一个处理数据能力极强的运算器,而也许只是用这么一两次,因此自己购买这样的能够处理当前运算的硬件投资是极为不划算的。有了云计算之后,用户只需把自己的服务交给云端来处理下,缴纳一定的费用就可以了。而云提供者也能够通过这种大规模的计算获利,能够获得较小数据中心更多的利益。云计算是有弹性的,集群的规模可以扩大缩小,这就使云计算变得非常灵活,可以同时为许多人服务,而且每个用户需要的服务器的规模也可以动态改变。

Map/Reduce 背后包含着如下几个思想:

第一个就是:Scale“out”,not“up”,对于密集型数据,相对于,小规模的high-end servers,我们更倾向于大规模的low-end servers。其优势在通讯,电力耗费,以及构建所需要的费用上均有体现。

第二个思想是:要把系统建立在经常会出现错误异常的境况。对于分布式系统,由于冗余的数据量比较小,也很分散,出现错误容易解决。而对于大规模的高端服务器,出现错误想要纠正非常麻烦。

第三个思想是:移动计算到数据。这是云计算非常重要的思想。

第四个思想是:顺序处理数据而不是随即访问。密集型数据处理通常是非常大的数据集,要在硬盘中存储,寻址时间常常受到很大的限制,因为读写头就能读写那么快。对于1000亿字节的数据,要想更新其中1%的数据需要一天时间,如果仅仅是要读取全部数据以及重写所有数据,一台机器只需要一天。

第五个思想就是:隐藏系统级别的细节。虚拟化。把开发者从系统的层的细节中解脱出来。

第六个思想:无缝计算。就是想达到理想的状态,对于同一数据,双倍大小的集群,处理时间要最大为原来的一半时间处理完,对于同一集群,双倍的数据处理,时间应该小于原数据处理时间的二倍。当然这种只是理想状态,是想要达到的境界。

几个世纪前人们就预测出并行时代的来临,由于技术的,单机达到了我们所需要的计算效果,并行计算时代迟迟没有到来。可是在今天,面对着如此庞大的数据量。事情开始改变了。一个集群就相当于一个传统的单机,有自己的存储和计算系统。为什么Map/Reduce如此重要,大体上说,它是一个非常的高效的处理海量数据的工具,但除了这个,它更重要的是改变了我们处理大规模数据的方式。对于冯诺依曼体系,Map/Reduce思想是一个非常大的进步。Valiant把这叫做bridging model。一个概念的桥梁就这样架设在了硬件和在硬件上执行的软件之间。硬件设计者可以从冯诺依曼模式的角度去生产硬件已达到最好的效果而不用去考虑那些在这些硬件上跑的软件,而软件设计者也不需要考虑太多硬件的细节,只需开发高效的算法,结果就是1+1>2。未完待续…

也许Map/Reduce仅仅只是一个开始。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值