【大数据技术之HBase】初识Hbase(一)

什么是Hbase

HBase 是一个高可靠性、高性能、面向列、支持海量数据存储的 NoSQL 数据库。
Hbase官网: Hbase

Hbase原理

Hbase数据模型

HBase表 = multi-dimensional map (多维度的Map: kv键值对)。

Hbase逻辑结构

逻辑结构如下图所示:
hbase逻辑结构图

  • 列和列族:HBase中列分组形成列族。列族的所有列成员都具有相同的前缀。列族必须在模式定义时预先声明,而列不需要在模式定义时定义,但可以在表启动和运行时动态变化。
  • Row key:唯一,相当于主键ID。
  • Region和Store:每个列族对应一个Region中的Store,Store分为1个MemStore和多个SotreFile,那么一个表如果有多个列簇,那必然会有增加Region中的Store的数量。

Hbase物理存储结构

hbase物理结构图

Hbase数据模型

  • 命名空间:Name Space。与关系数据库系统中的数据库类似的表的逻辑分组,每个命名空间下有多个表。HBase有两个自带的命名空间,分别是HBase和default,HBase中存放的是HBase内置的表,default 表是用户默认使用的命名空间。
  • 行:Row。HBase表中的每行数据都由一个Row key和多个列组成,数据是按照 Row key的字典顺序存储的,并且查询数据时只能根据Row key进行检索,所以 Row key的设计十分重要。
  • 列:Column。HBase中的每个列都由Column Family(列族)和 Column Qualifier(列限定符)进行限定,只需指明列族,而列限定符无需预先定义。
  • 时间戳:Time Stamp。用于标识数据的不同版本(version),每条数据写入时,如果不指定时间戳,系统会自动为其加上该字段,其值为写入HBase的时间。
  • Region :Region是HBase数据管理的基本单位,Region有一点像关系型数据的分区。Region中存储着用户的真实数据,而为了管理这些数据,HBase使用了Region Sever来管理Region。
  • 单元格:Cell。由{Row key, column Family:column Qualifier, time Stamp} 唯一确定的单元。Cell中的数据是没有类型的,全部是字节码形式存储。

Hbase基本架构

hbase基本架构图

  • Region Server:Region Server 为Region的管理者,其实现类为HRegionServer,主要作用如下:
    • 对于数据的操作:get, put, delete;
    • 对于Region的操作:splitRegion、compactRegion。
  • Master:Master是所有Region Server的管理者,其实现类为HMaster,主要作用如下:
    • 对于表的操作:create, delete, alter
    • 对于 RegionServer的操作:分配regions到每个RegionServer,监控每个RegionServer
      的状态,负载均衡和故障转移。
  • Zookeeper:HBase通过Zookeeper来做Master的高可用、RegionServer的监控、元数据的入口以及集群配置的维护等工作。
  • HDFS:HDFS为HBase提供最终的底层数据存储服务,同时为HBase提供高可用的支持。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

依然范特西S

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值