Hadoop、HDFS、Hbase的由来及关系

1998年9月4日,Google公司在美国硅谷成立。正如大家所知,它是一家做搜索引擎起家的公司。

Hadoop、HDFS、Hbase的由来及关系

无独有偶,一位名叫Doug Cutting的美国工程师,也迷上了搜索引擎。他做了一个用于文本搜索的函数库(姑且理解为软件的功能组件),命名为Lucene

Hadoop、HDFS、Hbase的由来及关系

Lucene是用JAVA写成的,目标是为各种中小型应用软件加入全文检索功能。因为好用而且开源(代码公开),非常受程序员们的欢迎。

早期的时候,这个项目被发布在Doug Cutting的个人网站和SourceForge(一个开源软件网站)。后来,2001年底,Lucene成为Apache软件基金会jakarta项目的一个子项目。

2004年,Doug Cutting再接再励,在Lucene的基础上,和Apache开源伙伴Mike Cafarella合作,开发了一款可以代替当时的主流搜索的开源搜索引擎,命名为Nutch

Hadoop、HDFS、Hbase的由来及关系

 

Nutch是一个建立在Lucene核心之上的网页搜索应用程序,可以下载下来直接使用。它在Lucene的基础上加了网络爬虫和一些网页相关的功能,目的就是从一个简单的站内检索推广到全球网络的搜索上,就像Google一样。

随着时间的推移,无论是Google还是Nutch,都面临搜索对象“体积”不断增大的问题。

尤其是Google,作为互联网搜索引擎,需要存储大量的网页,并不断优化自己的搜索算法,提升搜索效率。

Hadoop、HDFS、Hbase的由来及关系

GFS与HDFS

2003年,Google发表了一篇技术学术论文,公开介绍了自己的谷歌文件系统GFS(Google File System)。这是Google公司为了存储海量搜索数据而设计的专用文件系统。

第二年,也就是2004年,Doug Cutting基于Google的GFS论文,实现了分布式文件存储系统,并将它命名为NDFS(Nutch Distributed File System)

Hadoop、HDFS、Hbase的由来及关系

还是2004年,Google又发表了一篇技术学术论文,介绍自己的MapReduce编程模型。这个编程模型,用于大规模数据集(大于1TB)的并行分析运算。

Google MapReduce(C++实现)与Hadoop MapReduce(Java实现)

第二年(2005年),Doug Cutting又基于MapReduce,在Nutch搜索引擎实现了该功能。

Hadoop、HDFS、Hbase的由来及关系

2006年,Doug Cutting加入了Yahoo(雅虎)公司,加盟Yahoo之后,Doug Cutting将NDFS和MapReduce进行了升级改造,并重新命名为Hadoop(NDFS也改名为HDFS,Hadoop Distributed File System)。

Hadoop、HDFS、Hbase的由来及关系  Hadoop、HDFS、Hbase的由来及关系

Hadoop、HDFS、Hbase的由来及关系

 

BigTable与HBase

2006年,Google又发论文了,介绍了自己的BigTable。这是一种分布式数据存储系统,一种用来处理海量数据的非关系型数据库。

Doug Cutting 在自己的hadoop系统里面,引入了BigTable,并命名为HBase

Hadoop、HDFS、Hbase的由来及关系

Hadoop的核心,就是HDFS和MapReduce。HDFS为海量数据提供了存储,而MapReduce为海量数据提供了计算框架

Hadoop、HDFS、Hbase的由来及关系

Hadoop与Google相关系统对比

Hadoop、HDFS、Hbase的由来及关系

Hadoop生态

Hadoop、HDFS、Hbase的由来及关系

参考:

https://www.zhihu.com/question/23036370