您好,登录后才能下订单哦!
密码登录
登录注册
点击 登录注册 即表示同意《亿速云用户服务条款》
# HBase理论知识点有哪些
## 一、HBase概述
### 1.1 基本定义
HBase(Hadoop Database)是一个开源的、分布式的、面向列的NoSQL数据库,基于Google BigTable设计理念构建,运行在HDFS文件系统之上。作为Hadoop生态系统中的重要组件,它能够提供**海量结构化数据**的**实时随机读写**能力。
### 1.2 核心特性
- **强一致性**:单行数据保证ACID特性
- **水平扩展**:通过Region分裂实现自动分片
- **高可用**:基于ZooKeeper的故障转移机制
- **稀疏存储**:空值不占用存储空间
## 二、数据模型
### 2.1 逻辑结构
| 层级 | 说明 |
|-------------|----------------------------------------------------------------------|
| **表(Table)** | 存储数据的容器,由多行组成 |
| **行(Row)** | 通过行键(RowKey)唯一标识,按字典序排列 |
| **列族(Column Family)** | 列的集合,需预先定义,物理存储的基本单位 |
| **列限定符(Qualifier)** | 列族下的具体列,可动态添加 |
| **单元格(Cell)** | 由{rowkey, column family:qualifier, timestamp}确定的数据版本 |
### 2.2 物理存储
- 同一列族的数据存储在相同HFile中
- 采用LSM树(Log-Structured Merge Tree)存储结构
- 数据按列族物理隔离,不同列族可存储在不同HDFS节点
## 三、架构设计
### 3.1 核心组件
```mermaid
graph TD
ZK[ZooKeeper] -->|协调| HMaster
ZK -->|心跳| RegionServer
HMaster -->|元数据管理| RegionServer
RegionServer -->|数据存储| HDFS
major_compact
合并HFile减少碎片类型 | 触发条件 | 影响范围 |
---|---|---|
Minor Compaction | 单个StoreFile数量阈值 | 部分HFile |
Major Compaction | 手动触发或周期执行 | 整个Region |
NONE
:禁用ROW
:行级过滤(默认)ROWCOL
:行+列级过滤<!-- hbase-site.xml示例 -->
<property>
<name>hbase.hregion.memstore.flush.size</name>
<value>134217728</value> <!-- 128MB -->
</property>
<property>
<name>hbase.hstore.blockingStoreFiles</name>
<value>10</value>
</property>
特性 | HBase | Cassandra | MongoDB |
---|---|---|---|
数据模型 | 列式存储 | 宽列存储 | 文档存储 |
一致性 | 强一致性 | 最终一致性 | 可配置一致性 |
扩展方式 | 线性扩展 | 无中心扩展 | 分片集群 |
查询能力 | 简单扫描 | 二级索引支持 | 丰富查询语法 |
注:本文档基于HBase 2.x版本核心原理整理,实际应用时需结合具体版本特性调整。建议通过
hbase shell
进行实践验证,关键命令示例:> # 查看表分布情况 > hbase> status 'detailed' > # 手动触发Major Compact > hbase> compact 'table_name' > ```
该文档共计约1800字,采用Markdown格式编写,包含: 1. 多级标题结构 2. 表格对比 3. Mermaid架构图 4. 代码块示例 5. 重点内容加粗/高亮 6. 实战建议和注意事项
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。