1. HBase的数据模型(两张图)
简单理解:
- TimeStamp: 不同版本Verison的数据根据timestamp进行区分
命名空间: 相当于数据库
- regoin(Table): 表
- rowkey(行键): 决定一个人的信息, 例如: name丶age丶sex
- 列(Column): 包含列族(Column Family)和列限定符(Column Qualifier 列名)组成: 例如 C1:name C2:age 列簇:列名
- 列簇Column Family: 包含一个人信息所有列的字段,相当于一个store
- 列标识符(Column Qualifier) 可以理解为列名
- 单元格(Cell): 单元格是行、列系列和列限定符的组合
2. HBase的架构原理
- Client的作用: RPC方式和HMaster、HRegionServer通信
- Zookeeper的作用: 高可用丶状态管理
- HMaster的作用: 主节点,实现DDL操作 管理region
- HRegionServer的作用: 从节点 负责切分正在运行过程中变的过大的region
- store: 一个列簇对应一个store
- MemStore的作用: 放在内存,默认阈值(128M),会被flush,生成快照文件
- StoreFile的作用: memstore数据写入文件,底层以Hfile格式保存在HDFS
- HLog的作用: 日志
解释:
主从:主节点Master和从节点RegionServer
主备: 高可用 防止Master挂了,影响Hbase集群
注意: 其实Hbase挂了,不会影响数据的查询和put增加,但是不能创建表和删除表的操作,Master会影响集群健康