Hbase基础知识学习
HBase 基础知识学习笔记(从原理到实操)
关键词:HBase、NoSQL、列式存储、HDFS、Zookeeper
适用场景:
- 海量数据存储
- 实时随机读写
- Hadoop 生态大数据系统
HBase 是 Apache 基于 Google BigTable 论文实现的分布式 NoSQL 数据库。
一、什么是 HBase?
Apache HBase 是一个构建在 HDFS 之上的分布式、面向列的 NoSQL 数据库,适合存储海量结构化或半结构化数据。
HBase 的核心定位
- ✔ 支持 PB 级数据
- ✔ 支持 毫秒级随机读写
- ✔ 强一致性(单行事务)
- ✔ 与 Hadoop 生态高度集成
HBase ≠ Hive
- Hive:离线分析(OLAP)
- HBase:实时读写(OLTP / 实时查询)
二、HBase 在 Hadoop 生态中的位置
应用层(Web / 实时服务)
│
HBase
│
HDFS + Zookeeper
│
Linux 集群
组件关系说明
| 组件 | 作用 |
|---|---|
| HDFS | 底层数据存储 |
| Zookeeper | 集群协调、选主 |
| HBase | 提供 NoSQL 存储服务 |
| MapReduce / Spark | 批处理 / 计算 |
三、HBase 的数据模型(非常重要)
1 表(Table)
- 类似关系型数据库的表
- 但 没有固定列
2 行键(RowKey)
- 唯一标识一行数据
- 按 字典序排序
- 决定数据分布(设计非常关键)
常见设计:
- 用户ID + 时间戳
- 反转时间戳避免热点
3 列族(Column Family)
- HBase 中 唯一需要提前定义的结构
- 一个表通常 1~3 个列族
- 列族内数据物理存储在一起
示例:
info:name
info:age
log:login_time
4 列(Column Qualifier)
列族:列名
例如:
info:name
5 时间戳(Timestamp)
- 每个 Cell 都带时间戳
- 自动生成
- 支持多版本数据
6 Cell(最小存储单元)
(RowKey, ColumnFamily:Qualifier, Timestamp) → Value

浙公网安备 33010602011771号