HBase简介

一.HBase简介

1.1起源

HBase的原型是Google的BigTable论文,受到了该论文思想的启发,目前作为Hadoop的子项目来开发维护,用于支持结构化的数据存储。

1.2HBase的角色

特点:
a)nosql列存储数据库
b)HBASE存储数据的本质,可以理解为键值对存储
——
key:
rowkey +CF(列族) +column +timstamp(时间戳)
value:
值是二进制方式存储
需要存储的值
——
c)存储数据:HDFS,存3份,数据安全性比较好
d)检索数据:快!!
1.2.1、HMaster
功能:

  1. 监控RegionServer
  2. 处理RegionServer故障转移
  3. 处理元数据的变更
  4. 处理region的分配或移除
  5. 在空闲时间进行数据的负载均衡
  6. 通过Zookeeper发布自己的位置给客户端

1.2.2、RegionServer
功能:

  1. 负责存储HBase的实际数据
  2. 处理分配给它的Region
  3. 刷新缓存到HDFS
  4. 维护HLog
  5. 执行压缩
  6. 负责处理Region分片

组件:

  1. Write-Ahead logs
    HBase的修改记录,当对HBase读写数据的时候,数据不是直接写进磁盘,它会在内存中保留一段时间(时间以及数据量阈值可以设定)。但把数据保存在内存中可能有更高的概率引起数据丢失,为了解决这个问题,数据会先写在一个叫做Write-Ahead logfile的文件中,然后再写入内存中。所以在系统出现故障的时候,数据可以通过这个日志文件重建。

  2. HFile
    这是在磁盘上保存原始数据的实际的物理文件,是实际的存储文件。

  3. Store
    HFile存储在Store中,一个Store对应HBase表中的一个列族。

  4. MemStore
    顾名思义,就是内存存储,位于内存中,用来保存当前的数据操作,所以当数据保存在WAL中之后,RegsionServer会在内存中存储键值对。

  5. Region
    Hbase表的分片,HBase表会根据RowKey值被切分成不同的region存储在RegionServer中,在一个RegionServer中可以有多个不同的region。

1.3、HBase的架构

HBASE在存储数据时候,将数据划分为很多部分(类似于我们HDFS存储,大文件划分为很多Block)

按照Rowkey划分,划分的每一部分称为Region(区域)

一个Region有一个RegionServer进行管理,一个RegionServer可以管理多个Region,需要操作一个Region上的数据,必须找到RegionServer

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值