深入理解Hbase

HBase

1HBase简介

Hbase是一个非关系型数据库,存储在hdfs上,是高可靠、高性能、面向列、可伸缩的分布式数据库。 
HBase利用Hadoop HDFS作为其文件存储系统,利用Hadoop MapReduce来处理 HBase中的海量数据,利用Zookeeper作为其分布式协同服务

2Hbase 的数据模型

在这里插入图片描述
row key 决定一行数据的唯一标识 可以自定义 长度最大为64k。按照字典序进行排序
Colums Family 列族 列族可以有多个 但是列族越多,在取一行数据时所要参与IO、搜寻的文件就越多,所以,如果没有必要,不要设置太多的列族。(把多个表整合成一个表 每个表的表名就是列族)
qualifier 列 是列族的成员 一个列族可以有成千上万个列 列名是以列族名为前缀的 如列族1:列1
Timestamp 时间戳 在HBase每个cell存储单元对同一份数据有多个版本,根据唯一的时间戳来区分每个版本之间的差异 不同版本的数据按照时间倒序排序
Cell单元格 在HBase表中,通过行的唯一标识、列族和列限定符和版本确定一个“单元格”(cell),单元格中存储的数据没有数据类型,总被视为字节数组byte[] 由{row key,column(= +),version}唯一确定的单元。

3 HBase特征简要

特征

海量存储
适合大量PB级数据的存储 能在几十到百毫秒内返回数据
列式存储
也就是列族存储 存储数据时必须指定列族
极易扩展
横向扩展 通过横向添加RegionSever的机器,进行水平扩展,提升Hbase上层的处理能力,提升Hbsae服务更多Region的能力。
高并发
在并发的情况下,Hbase的单个IO延迟下降并不多。能获得高并发、低延迟的服务。
稀疏
在列数据为空的情况下,是不会占用存储空间的。

4 Hbase 内部处理流程

在这里插入图片描述
Client
客户端包含访问Hbase的接口,同时在缓存中维护着已经访问过的Region位置信息,用来加快后续数据访问过程。
ZooKeeper
负责选举机制 保证任何适合都只有一个master存在
Master订阅Region Server 当RS发生变化时 ZK把上线下线信息发送给master
存储Hbase的schema
存贮所有Region的寻址入口
HMaster
为Region service 分配Region
把无效故障的Region service 上的Region 重新分配
负责region server的负载均衡
HDFS上的垃圾文件回收
处理schema更新请求
(HMaster短时间怠机没事,但不能长时间怠机)
Region Service
维护Master分配给它的region,处理对这些region的IO请求
Region server负责切分在运行过程中变得过大的region

5 Region Service原理结构

在这里插入图片描述
Region
每个RS(Region Service)中可以有多个Region 这些Region可以表示多个表 也可以表示一个表
当Region容量大于10g时,Region会进行分裂 生成两个等份的Region
Hlog
缓存日志 数据需要先存入日志中在写入MenStore(防止断电,数据丢失)
Hlog的切分机制
1.当数据写入hlog以后,hbase发生异常。关闭当前的hlog文件
2.当日志的大小达到HDFS数据块的0.95倍的时候,关闭当前日志,生成新的日志
3.每隔一小时生成一个新的日志文件
Store
表示表中的列族 一个store表示一个列族
MenStore
写内存 数据写入需要写入内存中 内存达到阈值就进行flush 生成一个StoreFile
StoreFile
由内存flush而成 多个StoreFile 会合成一个大的StoreFile StoreFile会把数据存储在HDFS上。

6 Hbase的读写流程

写入流程
在这里插入图片描述
读取流程
在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值