HBase的基本介绍

什么是HBase

Hbase 是建立在hdfs之上的一个数据库,不支持join等SQL复杂操作.支持的数据类型:byte[],依靠横向扩展
一个表可以有上十亿行,上百万列。
面向列(族)的存储和权限控制
对于为空(null)的列,并不占用存储空间,是一个稀疏表。

稀疏的理解:宽松;不稠密
举个最容易理解的例子 “稀疏的像程序员的头发”,当然这里的程序员指的是那些大量用脑的资深程序员。

HBase的适用场景:

海量数据、精确查询、快速返回

海量数据:指的是数据量的背景
精确查询:业务场景
快速返回:是业务对时效性的要求

Hbase和Hadoop之间的关系

HDFS
海量数据存储,适合一次性扫描大量数据。
适合一次写入多次读取
不适合频繁更新的数据

HBASE
不适合一次性扫描大量数据。适用一次扫描少量数据。
适合多次写入多次读取
支持数据更新
支持删除数据

Hbase与RDBMS(关系型数据库)的关系

RDBMS
支持SQL查询
支持事务
支持Join

HBASE
不支持SQL查询
不支持事务
不 支持Join

Hbase特征简要说明

1、 海量存储
Hbase适合存储PB级别的海量数据,在几十到百毫秒内返回数据。

2、列式存储
这里的列式存储其实说的是列族存储列族理论上可以很多,但实际上建议不要超过6个

3、 极易扩展
处理能力(RegionServer)的扩展,一个是基于存储的扩展(HDFS)
hbase在最初设计的时候就考虑了扩展性。

4、高并发
这里说的高并发,主要是在并发的情况下,Hbase的单个IO延迟下降并不多

5、稀疏
在列数据为空的情况下,是不会占用存储空间的。

hbase的基础架构

1、Client
2 、ZOOKEEPER
3 、Master 管理者
4 、Regionserver 工作者

在这里插入图片描述

HBase的底层原理
详细架构
在这里插入图片描述

Client:访问数据的路口

Zookeeper:
1.通过选举制保证集群有且只有一个Master
2.监控RegionServer的状态,并向Master汇报RegionServer的上线和下线报告。
3.保存HBase的schema(元数据)
4.存储每个Region的寻址入口

Master:
1.分配Region给RegionServer.
2.负责RegionServer的负载均衡。
3.处理schema(元数据)的更新请求
4.发现失效的RegionServer并重新分配其上的Region

RegionServer:
1.维护Master分配的Region ,负责处理Region的IO请求
2. 负责将运行过程中逐渐变大的Region切分

  • 7
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值