首页技术文章正文

HBase分布式数据库的特点是什么?HBase简介

更新时间:2020-10-28 来源:黑马程序员 浏览量:

       HBase是一个高可靠性、高性能、面向列、可伸缩的分布式数据库,它起源于2006年Google发表的BigTable论文。在2008年,PowerSet的Chad Walters和Jim Keller受到了该论文思想的启发,从而把HBase作为Hadoop的子项目来进行开发维护,用于支持结构化的海量数据存储。

1603869338218_分布式数据库.jpg

  HBase的一大优点是可在廉价PC 服务器上搭建起大规模结构化存储集群。HBase的目标是存储并处理大型的数据,更具体来说是仅需使用普通的硬件配置,就能够处理由成千上万的行和列所组成的大型数据。HBase分布式数据库具有如下的显著特点:

 

  容量大

  HBase分布式数据库中的表可以存储成千上万的行和列组成的数据。

  面向列

  HBase是面向列的存储和权限控制,并支持独立检索。列存储,其数据在表中是按照某列存储的,根据数据动态的增加列,并且可以单独对列进行各种操作。

  多版本

  HBase中表的每一个列的数据存储都有多个Version(版本)。一般地,每一列对应着一条数据,但是有的数据会对应多个版本,例如,存储个人信息的HBase表中,如果某个人多次更换过家庭住址,那么记录家庭住址的数据就会有多个版本。

  稀疏性

  由于HBase中表的列允许为空,并且空列不会占用存储空间,因此,表可以设计的非常稀疏。

  扩展性

  HBase的底层是依赖于HDFS。当磁盘空间不足时,我们可以动态的增加机器(即DataNode节点服务)来解决,从而避免像关系型数据库那样,进行数据的迁移。

  高可靠性

  由于HBase底层使用是的HDFS,而HDFS本身具有备份机制,所以在Spark集群出现严重问题时,Replication(即副本)机制能够保证数据不会发生丢失或损坏。

  虽然HBase是Google Bigtable的开源实现,但是它们之间有很多不同之处,例如:Google BigTable利用GFS作为其文件存储系统,而HBase利用Hadoop HDFS作为其文件存储系统;Google运行MapReduce来处理BigTable中的海量数据,而HBase同样利用Hadoop的MapReduce来处理HBase中的海量数据;Google BigTable利用Chubby作为协同服务,而HBase利用Zookeeper作为协调服务作用。

  HBase作为一种分布式数据库,它与传统数据库相比有很大区别,下面从存储模式、表字段以及可延伸性这三个方面分别进行介绍。

  (1) 存储模式

  传统数据库中是基于行存储的,而HBase是基于列进行存储的。

  (2) 表字段

  传统数据库中的表字段不能超过30个,而HBase中的表字段不作限制。

  (3) 可延伸性

  传统数据库中的列是固定的,需要先确定列有多少才会增加数据去存储,而HBase是根据数据存储的大小去动态的增加列,列是不固定的。

猜你喜欢:

MapReduce是怎样进行计算的?

大数据的Hadoop是什么,Hadoop的主要发展过程

HDFS究竟是什么?HDFS是怎样储存数据的?

黑马程序员web前端培训课程 

分享到:
在线咨询 我要报名
和我们在线交谈!