背景介绍
Google成立于1998年是全球最大的搜索引擎公司,主要业务为搜索、云计算、广告技术等,主要利润来自于广告等服务。在21世纪初互联网刚刚兴起,每个企业保存和生产的数据量并不大,已有的技术对数据的保存和处理完全满足业务上的需求。作为搜索引擎公司,google需要保存爬虫所获取的大量网页数据,还要对海量的数据进行快速的搜索、计算、排名等处理。由于海量数据对当时的技术构成了严峻的挑战,google内部研发出了对应的存储、搜索、计算的相关解决方案,并在2003年~2006年相继公布了对应的技术解决方案,也就是开启大数据工业时代的三驾马车。
一、三驾马车
Google针对海量数据处理给出来可行性的解决方案:
1.于2003年 发布《The Google File System》,用于处理海量网页的存储
2.于2004年 发布《MapReduce: Simplified Data Processing on Large Clusters》,可用于处理海量网页的索引计算问题
3.于2006年 发布《Bigtable: A Distributed Storage System for Structured Data》,用来处理海量结构化数据
二、hadoop起源
提到hadoop就不得不提Doug Cutting,作为Lucene的创作者,一直致力于搜索引擎的研发,2004年Doug Cutting在Lucene基础上开发一个款开源的搜索引擎Nutch。
1.Nutch
Nutch是一个基于Lucene基础上的网页搜索应用程序,功能跟Google类似。大批网站采用Nutch,随时时间推移,Nutch也遇到了和Google相同的海量数据的处理问题。
Doug Cutting基于Google的GFS论文,实现了分布式文件存储系统,命名为NDFS(Nutch Distributed File System)。
基于Google的MapReduce在Nutch实现了此功能。
2006年 Doug Cutting加入Yahoo后,将NDFS和MapReduce进行了改造并重新命名为Hadoop。后来又根据Bigtable实现了HBase。
2.hadoop
狭义上,hadoop指的就是hadoop这个软件,指包括HDFS和MapReduce。广义上,hadoop指的是大数据的一个生态圈,包括很多其他大数据相关软件。