1.1 HBase的发展历程

传统的数据处理主要使用关系数据库(MySQL、Oracle等)来完成,不过关系数据库在面对大规模的数据存储时明显力不从心。比如,在有关高并发操作和海量数据统计运算的应用中,关系数据库的性能就明显下降。

大数据时代的数据规模大、增长快、格式多样,因此传统的关系数据库已经不能适应新的需求。在这样的背景下,非关系数据库开始成为主流的选择。为了更大地拓展数据库的存储潜力,谷歌(Google)公司首先研发了BigTable,这就是HBase的原型。

HBase是用Java编程语言实现的一个开源的非关系型分布式数据库,它参考了谷歌的BigTable数据建模白皮书。HBase是Apache软件基金会的Hadoop项目的一部分,运行于HDFS之上,为Hadoop提供类似于BigTable规模的服务。因此,它能以容错方式存储海量的稀疏数据(注:稀疏数据是指数据库中的二维表内含有大量空值的数据)。HBase是一个高可靠、高性能、面向列、可伸缩的分布式数据库,主要用来存储非结构化和半结构化的松散数据,设计它的目的就是用于处理非常庞大的表——通过水平扩展的方式,用计算机集群就可以处理由超过10亿行数据和数百万列元素所组成的数据表。HBase有许多功能支持线性和模块化扩展。HBase集群通过添加托管在商用服务器上的RegionServer进行扩展。例如,一个集群从10台RegionServer扩展到20台,它的存储和处理能力都会翻倍。

以下是HBase的发展历程:

·2006年谷歌公司发表BigTable白皮书。

·2006年开始开发HBase。

·2008年HBase成为Hadoop的子项目,刚开始它只是Hadoop的一部分。

·2010年HBase成为Apache的顶级项目。HBase几乎实现了BigTable的所有特性。