HBase基本知识

定义

HBase是一种分布式、可扩展、支持海量数据存数的NoSQL数据库。

HBase数据模型

HBase的数据模型与关系型数据库类似,数据存储在一张表中,有行有列,但是HBase的底层物理结构是(K-V)。

使用HBase的情况

当满足以下情况的时候,使用HBase,才能发挥它的作用

表单的数据量超千万,且并发挺高

数据分析需求较弱,或者不需要那么灵活和实时

HBase的优缺点

优点

列可以动态增加,并且列为空就不存储数据,节省存储空间。

Hbase自动切分数据,使得数据存储自动具有水平scalability。

Hbase可以提供高并发读写操作的支持。

缺点

不能支持条件查询,只支持按照Row key来查询。

HBase并不适合传统的事物处理程序或关联分析,不支持复杂查询,一定程度上限制了它的使用,但是用它做数据存储的优势也同样非常明显。

HBase的数据模型

1、Name Space

​ 命名空间,类似于关系型数据库的DataBase,每个命名空间下多有个表。HBase有两个自带的命名空间,hbase和default,hbase中存放的是HBase内置的表,default是用户默认使用的命名空间

2、Region

​ 类似于关系型数据库中的表,不同的是,HBase定义表时,只需要声明列族即可,不需要声明具体的列。因此,在往HBase里写入数据时,字段可以动态的、按照需要指定。

3、Row

​ HBase表中的每一行数据都由一个RowKey和多个Column(列)组成,数据是按照RowKey的字典顺序存储的,并且查询数据的时候,只能按照RowKey进行检索,所以要认真设计RowKey.

4、Column

​ HBase中的每一列都是由Column Family(列族)和Column Qualifier(列限定符)进行限定,例如info:name,info:age。建表时,只需要指明列族,而列限定符无需预先定义。

5、Time Stamp

​ 用于标识数据的不同版本(version),每条数据写入时,如果不指定时间戳,系统狐疑自动为其加上该字段,其值为写入HBase的时间

6、Cell

​ 由{rowkey,column Family:column Qualifier,time Stamp} 唯一确定的单元。Cell中的数据是没有类型的,全部都是字节码形式存储。

HBase整体架构

请添加图片描述

1、Region

​ Region就是一段数据的集合。HBase中的表一般用于一个到多个Region,Region有以下特性:

  • Region不能跨服务器,一个RegionServer上有多个Region。
  • 数据量小的时候,一个Region足以存储所有数据;但是,当数据量大的时候,HBase会拆分Region。
  • 当HBase在进行负载均衡的时候,也有可能会从一台RegionServer上把Region移动到另一台RegionServer上。
  • Region是基于HDFS的,它的所有数据存取操作都是调用了HDFS的客户端接口来实现的。

2、RegionServer

​ RegionServer就是存放Region的容器,直接上说服务器上的一个服务。一般来说,一个服务器只会安装一个RegionServer服务,当然也可以装多个。

​ 当客户端从Zookeeper获取RegionServer的地址后,它会直接从RegionServer获取数据。

3、Master

​ Master是所有Region Server的管理者,由它对表进行create,delete,alter。

​ 对于RegionServer的操作:分配regions到每个RegionServer,监控每一个RegionServer的状态,负责均衡和故障转移

4、Zookeeper

​ Zookeeper在HBase中类似于管家,Zookeeper管理了HBase所有RegionServer的信息,包括具体的数据段存放在哪个RegionServer上。

​ 客户端每次与HBase连接,其实都是先于Zookeeper通信,查出哪个RegionServer需要连接,然后再连接RegionServer。

5、HDFS

HDFS为HBase提供最终的底层数据存储服务,同时为HBase提供高可用的支持。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值