主从架构

  • 由HRegion和HMaster服务器构成,HMaster负责管理,所有的通信和协调由zookeeper处理.
  • HBase逻辑上的表被划分成多个HRegion,分别存储到HRegion服务器集群中。HMaster中存的是数据到Hregion的映射
    hbase体系结构
  • HRegion分为:HLOG(存储数据日志)和HRegion(实际数据):很多store组成,每一个store存储一个列族。每一个store由多个storeFile组成,为hbase最小存储单元
  • 数据的删除和更新均在合并的时候进行。采用追加的方式进行更新
  • HBase Master服务器(不存在单点故障,因为可以启动多个HMaster,通过zookeeper保证总有一个HMaster在运行):管理对table的增删改查,管理Hregion服务器负载均衡,负责新HRegion的分配,迁移失效的HRegion服务器的HRegion

数据模型

  • hbase中的数据都是字符串,采用稀疏存储
  • 索引是行关键字、列关键字和时间戳
  • 每一行都有一个可排序的主键和任意多的列,所以同一张表的每一行数据可以有不同的列
  • hbase的写操作都是琐行的,每一次更新都会使用时间戳来标记,Hbase会保留一定数量的版本
  • 虽然每个表由很多行组成,但在物理存储上,是按照列来保存的
  • HBase表中的每个列都归属于某个列族,列族必须作为表模式(schema)定义的一部分预先给出,列名以列族作为前缀,每个“列族”都可以有多个列成员(column),HBase把同一列族里面的数据存储在同一目录下,由几个文件保存。
文章目录
  1. 1. 主从架构
  2. 2. 数据模型

不止于此

IT技术分享博客