2020-11-02 HBase的体系结构

先读图,再看文理解


简述架构图:

  • Zookeeper,作为分布式的协调。RegionServer也会把自己的信息写到ZooKeeper中。
  • HDFS是Hbase运行的底层文件系统
  • RegionServer,理解为数据节点,存储数据的。
  • Master RegionServer要实时的向Master报告信息。Master知道全局的RegionServer运行情况,可以控制RegionServer的故障转移和Region的切分。

细化架构图:

逻辑结构(模型)

  • 表(table)

    • 划分数据集合的概念,和传统的db中的表的概念是一样的

  • 行键(rowKey)

    • 对应关系数据库中的主键,作用就是唯一标示一行记录

    • 获取hbase中的一个记录(数据),要通过行键来获取

    • 行键是字节数组, 任何字符串都可以作为行键

    • 表中的行根据行键(row key)进行排序 ,数据按照Row key的字节序(byte order)排序存储

  • 列簇(列族)columnFamily

    • 简单的认为是一系列“列”的集合

  • 列限定符(column Qualifier)

    • 或者叫

    • 每个列簇都可以有多个列

  • 时间戳(version)

    • 在单元格中可以存放多个版本的数据

  • 单元格(cell)

    • 主要用来存储数据

    • 单元格的定位要通过三级定位才能定位到具体的单元格

  • 三级定位

    • 行键+(列族:列)+时间戳


物理结构(模型)

  • Zookeeper

    • 分布式协调

  • Master

    • HMaster没有单点问题,HBase中可以启动多个HMaster

    • 负责Table和Region的管理工作

    • 管理用户对Table的增、删、改、查操作

    • RegionServer的负载均衡

    • 调整Region分布 ,在Region Split后,负责新Region的分配

    • 在HRegionServer停机后,负责失效HRegionServer上的Regions迁移

     

  • RegionServer

    • RegionServer主要负责响应用户I/O请求

    • 向HDFS文件系统中读写数据,是HBase中最核心的模块

    • HLog部分和多个Region部分

  • Hlog

    • HLog保存着用户操作hbase的日志

    • ==实现了Write Ahead Log (WAL)预写日志==

    • Hlog会删除已存储到StoreFile中的数据

  • Region

    • 区域

    • 保存了row-key的固定区域范围的数据

    • 一个Hregion对应一个Region

    • 一个Hregion对应多个Hstore

  • Hstore

    • 对应一个列簇(列族)

    • 一个Hstore包含一个MemStore(内存储) 和多个StoreFile

  • MemStore

    • 内存储

    • 内存中的一块区域,一个Hstore对应一个MemStore

    • 当MemStore中的内容存放不下了就会刷出到硬盘以一个个的StoreFile存储

  • StoreFile

    • 其实就是数据的存储位置

    • 对HFile的封装

  • Hfile

    • Hadoop File

    • Hdfs的一个文件对象

Hbase不适合解决所有的问题:

  • 首先数据库量要足够多,如果有十亿及百亿行数据,那么Hbase是一个很好的选项,如果只有几百万行甚至不到的数据量,RDBMS是一个很好的选择。因为数据量小的话,真正能工作的机器量少,剩余的机器都处于空闲的状态
  • 其次,如果你不需要辅助索引,静态类型的列,事务等特性,一个已经用RDBMS的系统想要切换到Hbase,则需要重新设计系统。
  • 最后,保证硬件资源足够,每个HDFS集群在少于5个节点的时候,都不能表现的很好。因为HDFS默认的复制数量是3,再加上一个NameNode。

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值