您好,登录后才能下订单哦!
密码登录
            
            
            
            
        登录注册
            
            
            
        点击 登录注册 即表示同意《亿速云用户服务条款》
        # 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进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。