hadoop的产生

来源:互联网 发布:js判断是否在数组中 编辑:程序博客网 时间:2024/06/04 19:08
大数据的概念最早是由麦肯锡这家公司提出的,他们指出:“数据,已经渗透到当今每一个行业和业务职能领域,成为重要的生产因素,人们对于海量数据的挖掘和运用,预示着新一波生产率增长和消费者盈余浪潮的到来。”

进入2012年,大数据的概念开始被越来越多的提及,甚至已经上了纽约时报和华尔街日报的专栏封面。随着系统信息化的建设,海量数据正呈现井喷式增长,如何消化和分析这些数据从中提炼出有价值的信息是企业所要面临的新的难题和挑战。

首先面临的挑战来至于系统硬件,虽然硬盘的存储容量不断增加,但是磁盘的寻址效率却没有随之提高,因此当数据处于一个较大规模的时候,数据的定位和读取会变得非常缓慢。这是硬件本身的局限性,很难从软件方面得到突破点,然而同样从硬件的角度考虑,虽然磁盘的寻址效率发展缓慢,但是传输效率却相对迅速一些,因此基于大数据的处理,我们可以尝试使用另外一种访问方式——基于流式读取

两种方式有什么区别,或许有些人还不太清楚,基于磁盘寻址最典型的应用便是关系数据库,首先定位到数据的存储地址,然后从这个地址开始做局部的数据处理;而基于流式访问首先获取数据的输入流,通过该流来读取所有数据,做全局的数据分析,没有数据寻址的过程

基于流的访问方式虽然可以不用考虑磁盘的寻址时间,但是缺陷也十分的明显,比如会消耗很多的计算机资源(cpu,内存等),针对这些缺陷,我们能想到的最直接的处理方式便是将数据源进行切分,分散到多台机器上进行并行的读取,这样不但加快了数据的读取效率,也缓解了单台机器性能的不足。

但是,经过这种方式处理之后,又会带来新的难题和挑战
1.数据分散部署之后,有可能会带来数据遗失的风险
2.对数据片段的解析需要有一个聚合的操作,来汇总最后的结果
如何解决这些难题,正是hadoop框架的功能职责

Hadoop框架提供了一种简单的编程模型,用来对大数据集进行分布式处理;它的处理能力是可扩充的,可由一台机器扩充到成千上万台的集群,集群中的每台机器都会参与存储和计算。从功能角度来看hadoop主要具备两方面的特性,存储和计算。存储逻辑用到的是HDFS子框架,计算逻辑用到的是MapReduce子框架,每个子框架分别解决了上述难点

原创粉丝点击