为什么出现Hadoop,出现Hadoop


虽然接触hadoop有了两年多的时间,但是一直没有深入地思考过,为什么业界需要这个东西来解决问题?
想从两个方面来说说这个问题: 1.工业界之前是用什么来解决的? 2.大家遇到了什么问题,而这个问题之前的方案不能解决?
我们先看第一个问题,在早期人们进行数据存储和计算主要是使用RDBMS进行,不论是sql server、oracle,而且通常针对数据是做一些经营报表、财务数据等的分析。这种需求下,数据量较小,几十年的数据可能也就几个T,运行速度还很快。
第二个问题,遇到了什么问题? 伴随着互联网的蒸蒸日上,一方面网络用户增多,另一方面人们对于数据的渴望已经不能局限在看最后的财务报告,大家都想更贴近用户、机器,同时其他的譬如交通、电信行业,产生的富媒体数据更是丰富多彩,数据规模也是不断增长。我们希望能从这些用户行为、机器日志中看到更多能够优化系统、优化用户体验,做更多的用户研究。所以更多的数据带来更多的存储问题,原来的单机已经不能解决,而多个磁盘的轮询读取性能也是很低,同时磁盘的发展趋势:寻址时间的提高远远慢于传输速率的提高。 听以前一家公司的前辈们聊起在hadoop没有成熟之前,没有是自己开发的一个类分布式系统,解决多机存储计算问题但是问题很多,迫切需要解决对数据处理系统的这种一次写入、多次读取而非像传统RDBMS的持续更新的需求。
所以Hadoop就应运而生了。 这个得从Hadoop的两个关键概念的作用说起:MR和HDFS。 前者是一种编程模型,解决的是数据块独立并行计算的问题;后者是一种存储方案,解决的是分布式存储,确保水平扩展、容灾、备份。这样的设计可以使数据和计算都分散到每一台机器上进行,数据本地化也成为了MR的核心特征,也正因为这个获得良好的性能。

相关内容