大数据计算:Hadoop的前世今生(2)

  它是多集群处理,利用每个机器硬盘处理。它的数据分成块,这些块是有副本的,这些副本是存在不同的机器上的。为什么要这么做呢?就是因为硬件有可能出故障,如果硬件出故障以后存储在机器上的这个块不可用了,但是因为也副本,所以其他机器上可以把相应的块拿出来用,所以整个系统可靠性非常高。

  第二个就是处理流程。处理流程是两个计算过程。第一个计算过程相当于分配任务,我可以把任务分几百万分,分到很多机器上去算,计算完了以后有一个归约过程,把中间结果再归约处理,最后得出结果。这种处理方向很适合做文本处理。再讲一下我们做的实际工作:

  我们做的工作是跟Facebook的合作,就是叫行列混合式数据存储技术,英文是RCFile。大家知道关系数据是一张表,这个表怎么存到硬盘上?有很多种不同的格式,我们选取的格式希望有利于节省存储空间。比他们先进的地方就在于,我们用的是行列混合式,既不是行式,也不是列式,是混合在一起。这样比纯粹行存储节省20%的空间。比如他们原来600台机器存不下了,用这个模式就存下了。比纯粹列式要节省23%。

  第二个技术是CCIndex技术,这个技术是希望在数据模型中间取一个折中,让数据库有查询的能力。它最终的效果就是,我们比它最传统的二级索引快10倍。

  下面讲一个实际应用:我们是和淘宝合作,这是淘宝的一个应用,叫数据魔方,它能够把所有交易数据拿出来,去到敏感的,拿给第三方看,相当于是数据服务。这个界面是淘宝网女装行业,一个月成交金额是35亿6千万人民币,平均单价是179块钱。我们做的工作是什么呢?我们做的工作主要是在硬件规模保持不变的前提下,把系统处理的数据时效范围从7天扩大到3个月,数据量是几个TB,这些数据中我们要实时的算出来,比如总金额、平均单价,平均件数等都要实时的算出来。对比之前的数据,大概处理数据规模增大了一个数量级,而延迟甚至比原来的小。

  总结:大数据计算技术的发展趋势就是三个字“大、快、准”,我们目前处在的阶段是“快”阶段,“准”这个事目前还没有太好的技术能够出现。

  第二个就是数据计算模式是有变化的,以前是以计算为中心,以机器为中心,现在以数据为中心。在这样的变化前提下,很多新的技术涌现出来,比如说Hadoop。出现了这些新的技术,新的市场也会出现。目前看起来一些大的软件厂商,比如说Oracle,它直接在它的Big Data里内嵌了一个Hadoop做大数据处理。这些厂商也在关注Hadoop软件。

  第三,数据规模对传统的关系型数据库的技术提出了挑战。关系型数据库技术也在经历一些变革。NoSQL技术是对关系数据库的一个有利补充,这是实际需求导致的结果。实际需求就是量太大了,但是功能并不像SQL那么全,我只需要一个子集,这样技术可以简化,NoSQL技术比关系数据库技术要简单,但是它的价值取向是快,是可以扩展的,性能要好。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/cf390d02fe8d555d3eeb664f42f04ffd.html