tencent cloud

TDSQL Boundless

产品动态
产品简介
产品概述
应用场景
产品架构
实例类型
兼容性说明
使用规范建议
自研内核
内核概述
内核版本更新动态
功能类特性
性能类特性
产品计费
计费概述
购买方式
价格详情
续费说明
欠费说明
退费说明
快速入门
创建实例
连接实例
用户指南
数据迁移
数据同步/订阅
实例管理
参数配置
账号管理
安全组
备份与恢复
数据库审计
标签管理
实践教程
Online DDL 的技术演进与使用实践
锁机制解析与问题排查实践
数据智能调度及相关性能优化实践
TDSQL Boundless 选型指南与实践教程
开发指南
开发指南(MySQL 兼容模式)
开发指南(HBase 兼容模式)
性能调优
性能调优概述
SQL 调优
DDL 调优
性能白皮书
性能概述
TPC-C 测试
Sysbench 测试
API 文档
History
Introduction
API Category
Making API Requests
Instance APIs
Security Group APIs
Task APIs
Backup APIs
Rollback APIs
Parameter APIs
Database APIs
Data Types
Error Codes
通用参考
系统原理
SQL 参考
数据库参数说明
TPC-H 基准测试数据模型参考
错误码信息
安全与合规
常见问题
服务协议
服务等级协议
服务条款
隐私政策
数据处理和安全协议
联系我们
词汇表

数据模型

PDF
聚焦模式
字号
最后更新时间: 2026-03-06 18:50:08

HBase 模型

HBase 数据模型

HBase 的数据模型是一个多维映射,可以表示为:
(row_key, column family, column, version) → value
row_key:行的唯一标识,按字典序排序。
column family:列的集合,是物理存储的基本单位。每个列族包含数量不限的列,支持动态添加。同一个列可以包含多个数据版本,版本号通常由时间戳表示。
column:列族中的具体字段,由列族名和列限定符(Qualifier)组成。
version:数据的版本号,通常由时间戳表示。
value:实际存储的数据。
cell:数据存储的最小单元,由 (row_key, column family, column, version) 唯一标识。

HBase 存储结构

Namespace:表的逻辑容器,用于组织和管理表。表属于某个 Namespace。
Table(表): HBase 中数据存储的基本单位。表按行键(Row Key)范围划分为多个 Region,每个 Region 负责存储一部分数据。
Region(区域):每个 Region 包含多个 Store,每个 Store 对应一个列族(Column Family)。
Store(存储单元):Store 是 Region 中存储数据的基本单位,与列族一一对应。每个 Store 维护独立的 LSM 结构,包括 MemStore 和 StoreFile。列族的数量通常有限,建议不超过3-5个。
MemStore:MemStore 是内存中的写入缓存,提供高效的写入性能。
StoreFile:StoreFile 是磁盘上的存储文件,基于 HFile 格式,支持高效的读取和压缩。
Block:Block 是 StoreFile 中的基本存储单元,支持高效的随机读取。
HBase 的存储结构可以表示为以下层次关系:
Table
├── Region (按行键范围划分)
│ ├── Store (每个列族对应一个 Store)
│ │ ├── MemStore (内存中的写入缓存)
│ │ └── StoreFile (磁盘上的存储文件)
│ │ └── Block (文件中的数据块)
│ └── ...
└── ...

TDSQL Boundless 数据模型

角色映射

HBase Master 类似 TDSQL Boundless 的 MC(Metadata Cluster)。
HBase Region Server 类似 TDSQL Boundless 的 TDStore 节点。

表映射规则

一对多映射一个 HBase Table 对应 TDSQL Boundless 的多张表。
列族映射每个 Column Family 对应一张 TDSQL Boundless 表,表名格式为 HBase 表名_列族名
列映射:HBase 每列的一个具体版本对应 TDSQL Boundless 表中的一行数据。
主键设计:TDSQL Boundless 表的主键为 HBase Row Key + Column Qualifier + Version

映射示例

假设 HBase 表 ht1 包含两个列族 cf1 cf2,则 TDSQL Boundless 内部会创建两张表:ht1_cf1 ht1_cf2
HBase 数据示例
row key
column family
column
version
value
row1
cf1
a
100
v1
row1
cf1
b
100
v2
row1
cf1
b
110
v3
row1
cf2
c
120
v4
row2
cf1
d
120
v5
row2
cf2
d
130
v6
TDSQL Boundless 表数据
create table ht1_cf1 (
K varbinary(1024),
Q varbinary(256),
T bigint,
V MediumBlob NOT NULL,
primary key(K, Q, T)) HBase;
create table ht1_cf2 (
K varbinary(1024),
Q varbinary(256),
T bigint,
V MediumBlob NOT NULL,
primary key(K, Q, T)) HBase;
表 ht1_cf1
Primary Key (K + Q + T)
Value (V)
row1 + a + 100
v1
row1 + b + 100
v2
row1 + b + 110
v3
row2 + d + 120
v5
表 ht1_cf2
Primary Key (K + Q + T)
Value (V)
row1 + c + 120
v4
row2 + d + 130
v6

帮助和支持

本页内容是否解决了您的问题?

填写满意度调查问卷,共创更好文档体验。

文档反馈