大数据管理与分析 第五章 HBase

HBase

HBase 基本工作原理

RDBMS 的局限性

  • 大数据
  • 灵活多变的表结构

在这里插入图片描述

HBase在Hadoop中的生态环境

  • 构建于HDFS之上
  • 为上层应用提供结构化、班级勾画含量数据存储访问能力
  • 结构化数据(即行数据,存储在数据库里,可以用二维表结构来逻辑表达实现的数据)
  • 半结构化数据:非关系模型的,有基本固定结构模式的数据,例如日志文件、XML 文档、JSON 文档、Email 等
  • 非结构化数据:没有固定模式的数据,如 WORD、PDF、PPT、EXL,各种格式的图片、视频等
  • 可与MapRecuce 协同工作,为MapReduce 停工数据输入输出,以完成数据并行化处理

在这里插入图片描述

HBase 数据模型

一个分布式多维表,表中数据通过:

  • 一个行关键字
  • 一个列关键字
  • 一个时间戳
    进行索引和定位

在这里插入图片描述

HBase 物理存储格式
  • 按稀疏矩阵,按行分割,按列族存储
  • 列为空得不存储,节省空间

在这里插入图片描述

HBase基本架构

  • 有一个MasterServer和一组子表数据区服务器RegionSever构成,分别存储一个子表 Region

在这里插入图片描述

HBase 数据管理办法

在这里插入图片描述

  • 每个子表数据区Region,由很多数据存储块Store构成
  • 每个stroe数据块又由存放在内存中得memStore和当放在文件中StoreDile构成
  • 一个列簇对一应一个store

在这里插入图片描述
HBase子表数据存储与子表服务器
在这里插入图片描述

HBase 数据访问
  • 查询数据时,子表先查memStore 。如果没有,在查磁盘上的StoreFile。每个StoreFile都有类似B树的结构,运行能进行快速的数据查询。
  • StoreFile将定时压缩,多个压缩为一个
  • 两个小的子表可以合并
  • 子表大到超过某个阈值,子表服务器就需要把他分割成两个新的子表。

HBase子表服务器和主服务器

在这里插入图片描述

HBase数据记录的查询定位
  • 描述所有子表和子表中数据块的元数据都存放在专门的元数据表中,并存储在特殊的子表中。子表元数据会不断增长,因此可能需要多个子表来保存
  • 所有元数据子表的元数据都保存在根子表中。主服务器会扫描元子表,从而获得元数据子表的位置,在进而扫描这些元数据子表,即可获得所寻找子表的位置。

HBase使用三层类似B+树结构来保存Region位置

  • 第一层是保存在zookeeper里面的文件,他持有 root region的位置
  • 第二层root region是.META.表的第一个region,其中保存了.META.表其它region的位置。通过root region,我们就可以访问.META.表的数据
  • .META.是第三层,它是一个特殊的表,保存了HBase中所有数据表的region 位置信息

在这里插入图片描述
在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值