Hbase的体系结构

1. Hbase的体系结构(模型)

1.1 逻辑结构(模型)

  • 表(table)

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

    • 对应关系数据库中的主键,作用就是唯一标示一行记录
    • 获取hbase中的一个记录(数据),要通过行键来获取
    • 行键是字节数组, 任何字符串都可以作为行键
    • 表中的行根据行键(row key)进行排序 ,数据按照Row key的字节序(byte order)排序存储
  • 列簇(列族)columnFamily

    • 简单的认为是一系列“列”的集合
  • 列限定符(column Qualifier)

    • 或者叫
    • 每个列簇都可以有多个列
  • 时间戳(version)

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

    • 主要用来存储数据
    • 单元格的定位要通过三级定位才能定位到具体的单元格
  • 三级定位

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

[外链图片转存失败(img-gflfErOJ-1568777365796)(https://note.youdao.com/yws/res/10368/5F67A387403F434B95384DFE158C84E3)]

6.2 物理结构(模型)

  • 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的一个文件对象

2. Hbase读写数据的流程

  • zookeeper(寻找元数据信息)
    • get /hbase/meta-region-server
  • 找到提供元数据信息访问的regionserver
  • 找"hbase:meta"表,再去查找要请求哪个regionser来读写数据

你可能感兴趣的:(大数据)