深入浅出HBase实战 | 青训营笔记

52 阅读1分钟

这是我参与「第四届青训营 」笔记创作活动的第7天


本节课程目录:

  1. HBase的定义和适用场景
  2. 架构设计
  3. 大数据支撑
  4. 最佳实践

1.Hbase的定义和适用场景

  1. HBase的定义
    image.png
  2. HBase和关系型数据库的区别
    image.png
  3. HBase的数据类型
    image.png 从逻辑上的Json结构来看,根据行键来定义一行数据,内部的不同的列族可以缺省
    image.png 从物理上的结构来看,按列族进行存取,划分列族的原因是因为:HBase中的数据存在大量稀疏的问题,且尝尝需要按列访问数据, 所以按列簇存储降低了存储文件的数量且提升了按列访问数据的速度。
    image.png
  4. 使用场景
    1.基于Hbase提供“近在线”读写的推荐侯选数据集
    image.png 2.商家订单系统使用HBase管理买家、卖家的订单信息
    image.png
  5. HBase的优缺点
    image.png

2. HBase架构设计

image.png HMaster: 全局内集群管理者,看到元数据的变更,知道是否有RegionServer宕机
ThriftServer: 提供用户访问的API HMaster:
image.png RegionServer:
image.png ZooKeeper主要职责: 将ResionServer和Hmaster进行注册


3. 大数据支撑

3.1 HBase在大数据生态中的定位
image.png 3.2 水平扩展能力
image.png 3.3 Region热点切分
image.png 3.4 Region碎片整合
image.png 3.5 Region负载均衡
image.png image.png 3.6 故障恢复机制
Hmaster: image.png image.png image.png RegionServer:
image.png image.png


4. 最佳实践

RowKey设计策略: image.png Column Family设计策略: image.png