这是我参与「第四届青训营」笔记创作活动的的第10天
一、适用场景
1.1什么是Hbase
HBase是个开源的 NoSQL分布式数据库,是Apache软件基金会顶级项目之一。参考Google BigTable的设计,对稀疏表提供更高的存储空间使用率和读写效率。
采用存储计算分离架构。
- 存储层基于HDFS存储数据,提供容错机制和高可靠性:
- 计算层提供灵活快速的水平扩展、负载均衡和故障恢复能力;
提供强致语义,在CAP理论中属于CP系统。
Consislency, Awailabilily, Parllion Tdlerance
1.2 Hbase和关系型数据库的区别
1.3 Hbase 数据模型
hbase数据模型-逻辑结构
通过非关系型视图理解HBase数据模型:
- 适合稀疏数据,缺省列不占用存储空间。
- 通过(rowkey, column family, column qualifer, version)
- 唯一指定一个具体的值。
- 允许批量读取多行的部分列族列数据。
hbase数据模型-物理结构
1.4 使用场景
使用场景-典型应用
使用场景-半结构化/字典序有序索引的数据
使用场景- "近在线”海量分布式KV /宽表存储
使用场景写密集型的高吞吐场景
1.5 Hbase数据模型的优缺点
二、架构设计
2.1 Hbase 架构设计
2.2 Hmaster 主要职责
Hmaster-主要组件
2.3 RegionServer 主要职责
RegionServer 主要组件
2.4 ZooKeeper主要职责
2.5 ThriftServer 主要职责
三、大数据支撑
3.1 Hbase 在大数据生态的定位
3.2 水平扩展能力
3.3Region 热点切分
Region 热点切分-切分点选取
Region 热点切分-切分过程
Region 热点切分-流程设计
3.4 Region 碎片整合
流程设计
3.5 Region 负载均衡
3.6 故障恢复机制-HMaster