HBase 列式存储基础
HBase 是 Hadoop 生态中的 NoSQL 数据库,基于 HDFS,支持海量数据的随机读写。适合什么场景?与 MySQL/MongoDB 有何不同?
一、HBase 的数据模型
- 1.1 RowKey——行键,唯一标识
- 1.2 Column Family——列族
- 1.3 Column Qualifier——列名
- 1.4 Timestamp——多版本
- 1.5 与关系型数据库的对比
二、存储架构
- 2.1 HMaster——管理节点
- 2.2 RegionServer——数据节点
- 2.3 Region——表的水平分片
- 2.4 HFile——底层存储格式
三、RowKey 设计
- 3.1 RowKey 是唯一索引
- 3.2 热点问题——避免连续递增
- 3.3 散列——加盐/反转
- 3.4 业务查询决定 RowKey
四、基本操作
- 4.1 Put——写入/更新
- 4.2 Get——按 RowKey 查询
- 4.3 Scan——范围扫描
- 4.4 Delete——删除
五、适用场景
- 5.1 海量数据随机读写
- 5.2 时序数据存储
- 5.3 推荐系统特征存储
- 5.4 不适合的场景
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 谜思录!