1、name Space
命名空间,类似于关系型数据库的database概念,HBASE有两个自带的命名空间,分别是hbase和default,hbase中放的是Hbase内置的表,default表时用户默认使用的命名空间。
2、Region
类似于关系型数据库表的概念。不同的是,hbase定义表时,只需声明列簇,不需声明列。所有可以动态、按需改变字段。
3、row
Hbase表的每一行数据都由一个rowkey和多个列(column)组成,数据时按照rowkey的字典顺序存储的(按位比较),并且只能根据rowkey检索
4、column
HBASE 中每个列都由column family(列簇)和 column qualifier(列限定符)进行限定,如 info:name,info:age。
5、time Stamp
用于标识数据的不同版本
6、cell
由(rowkey,column family:column qualifier,time Stamp)唯一确定的单元。cell中的数据时没有类型,全部是字节码形式存贮。
region是根据rowkey分割,然后列根据列簇分割
如下图最终分成六个存储
storeFile是放在文件去存储
紧接上图
hbase架构角色
1)region Server
是region管理者,实现类为hregionserver
对于数据的操作;get ,put ,delete
对于region 的操作:splitregion、compactregion
2)master
是所有regionserver的管理者,实现类为Hmaster
主要是对于表的操作:create,delete,alter
对于regionserver的操作:分片region到每个regionserver,监控每个regionserver的状态,负载均衡和故障转移
3)zookeeper
Hbase通过zookeeper来做master的高可用、regionserver的监控、元数据的入口以及集群配置的维护等工作
4)hdfs
hdfs为hbase提供最终的底层数据存储服务,同时为hbase提供高可用的支持。