【大数据技术Hadoop+Spark】HBase分布式数据库架构、特点、数据存储方式、寻址机制详解(图文解释)

一、HBase简介

HBase起源于2006年Google发表的BigTable论文。HBase是一个高可靠性、高性能、面向列、可伸缩的分布式数据库,利用HBase可在廉价PC服务器上搭建起大规模结构化存储集群。HBase的目标是存储并处理大型的数据,更具体来说是仅需使用普通的硬件配置,就能够处理由成千上万的行和列所组成的大型数据。

二、HBase架构

HBase构建在Hadoop HDFS之上,Hadoop HDFS为HBase提供了高可靠的底层存储支持,Hadoop MapReduce为HBase提供高性能的计算能力,Zookeeper为HBase提供稳定服务和容错机制。HBase的整体架构如下所示。

主要节点及其作用如下图所示

【大数据技术Hadoop+Spark】HBase分布式数据库架构、特点、数据存储方式、寻址机制详解(图文解释)_第1张图片

 【大数据技术Hadoop+Spark】HBase分布式数据库架构、特点、数据存储方式、寻址机制详解(图文解释)_第2张图片

 【大数据技术Hadoop+Spark】HBase分布式数据库架构、特点、数据存储方式、寻址机制详解(图文解释)_第3张图片

 【大数据技术Hadoop+Spark】HBase分布式数据库架构、特点、数据存储方式、寻址机制详解(图文解释)_第4张图片

 【大数据技术Hadoop+Spark】HBase分布式数据库架构、特点、数据存储方式、寻址机制详解(图文解释)_第5张图片

 【大数据技术Hadoop+Spark】HBase分布式数据库架构、特点、数据存储方式、寻址机制详解(图文解释)_第6张图片

 三、HBase的特点

1)容量巨大:单表可以有百亿行、数百万列。

2)无模式:同一个表的不同行可以有截然不同的列。

3)面向列:HBase是面向列的存储和权限控制,并支持列独立索引。

4)稀疏性:表可以设计得非常稀疏,值为空的列并不占用存储空间

5)扩展性:HBase底层文件存储依赖HDFS,它天生具备可扩展性

6)高可靠性:HBase提供了预写日志(WAL)和副本(Replication)机制,防止数据丢失

7)高性能:底层的LSM(Log-Structured Merge Tree)数据结构和Rowkey有序排列等架构上的独特设计,使得HBase具备非常高的写入性能。

四、HBase数据存储方式

Region在行方向上的存储方式

HBase表的数据按照行键RowKey的字典序进行排列,并且切分多个HRegion存储,存储方式如下所示。

【大数据技术Hadoop+Spark】HBase分布式数据库架构、特点、数据存储方式、寻址机制详解(图文解释)_第7张图片

 HRegion的切分方式

每个Region存储的数据是有限的,如果当Region增大到一个阀值(128)时,会被等分切成两个新的Region,切分方式如下所示。

【大数据技术Hadoop+Spark】HBase分布式数据库架构、特点、数据存储方式、寻址机制详解(图文解释)_第8张图片

 HRegion的分布方式

一个HRegion Server上可以存储多个Region,但是每个Region只能被分布到一个HRegion Server上,分布方式如下。

【大数据技术Hadoop+Spark】HBase分布式数据库架构、特点、数据存储方式、寻址机制详解(图文解释)_第9张图片

五、HBase寻址机制

当HBase表查询数据遵循的是寻址机制,接下来,通过一张图来学习一下HBase的寻址机制,具体如下所示。

【大数据技术Hadoop+Spark】HBase分布式数据库架构、特点、数据存储方式、寻址机制详解(图文解释)_第10张图片

Zookeeper中存储的是ROOT表的数据,而ROOT表中存储的是META表的Region信息,也就是所有RegionServer的地址。 

 六、HBase与传统数据库的区别

存储模式

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

表字段

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

可延伸性

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

创作不易 觉得有帮助请点赞关注收藏~~~

你可能感兴趣的:(hbase,大数据,hadoop,分布式,数据库)