大数据hadoop组件工具,HBase的入门与使用

长久以来,对大数据的实时检索一直都是非常困难的问题。想要达到这个目的,首先就必须将需要查询的所有数据都存储下来。如果采用传统的关系型数据库来存储的话,其查询会非常缓慢,并且不利于扩展。因此需要寻找一种能够实现实时读写、实时访问的海量数据存储方法,这时HBase就诞生了

大数据hadoop组件工具,HBase的入门与使用

HBase是一种构建在HDFS之上的分布式、面向列的存储系统。它的理论基础是基于Google的三大论文之一——Google Bigtable。另外两大论文分别为Google FS和MapReduce,对应Hadoop中的Hdfs分布式文件存储系统和MapReduce分布式计算框架。

HBase总的来说具有四大优势,分别为高可靠性、高性能、面向列存储和可伸缩性强。

大数据hadoop组件工具,HBase的入门与使用

1.高可靠性

想要实现高可靠性,就需要保证以下两点。一是数据不会丢失,二是服务不会宕机。首先,对于HBase而言,其采用的是Hdfs分布式文件存储系统。众所周知,在Hdfs上,数据都是保存多份的,通常为3,并且是随机存储在不同的集群服务器上,因此除非3台服务器同时故障,否则数据是不会丢失的。其次HBase中包含zookeeper组件,默认情况下,HBase管理zookeeper实例。Zookeeper会时刻保证HBase在某些服务器挂掉的同时,集群能够正常运行。

2.高性能

传统的关系型数据库,例如mysql,在存储到千万级的时候,就很难做到实时查询了。但是在HBase上,数据起步就在亿级以上。究其原因,在于普通的关系型数据库是逐条查询的。但是HBase是通过一种叫做rowkey的键存表,而表的rowkey都是按字典序上升的。所谓字典上升就是ABCD、1234之类的顺序。其次HBase是按列存储的,这就类似于图书馆,如果你要找一本书,先去找这本书第一个字的首字母,然后去这个分区下寻找书籍类型。

大数据hadoop组件工具,HBase的入门与使用

3.按列存储

假设现在有2条普通的数据如下:

大数据hadoop组件工具,HBase的入门与使用

现在突然发现列不够用,还需要加一列住址数据,这时候就需要用到列的存储形式:

大数据hadoop组件工具,HBase的入门与使用

这样就可以随意添加属性,并且在查找的时候也非常便利,图中CF表示列族。并且每一条数据都有时间戳,时间戳就代表版本号。关于HBase的存储结构后续会有更加详细的技术说明。

4.可伸缩性强

HBase从另一个角度处理伸缩性问题。它通过线性方式从下到上增加节点来进行扩展。HBase不是关系型数据库,也不支持SQL,但是它有自己的特长,这是关系型数据库不能处理的,HBase巧妙地将大而稀疏的表表放在商用的服务器集群上。

HBase现在在市面上的应用非常广泛,大家购物经常会使用购物平台,而很多大型购物平台的后台检索就是基于HBase数据库的。某宝的数据量大家可想而知,其在双十一这种时候能保证数据能正常运转,可见HBase的功能有多么强大。


分享到:


相關文章: