TDSQL Boundless 数据模型

HBase 的数据模型是一个多维映射,可以表示为(row_key, column family, column, version) → value。

相关产品
TDSQL Boundless 产品页,含版本规格、价格与购买入口。

一、HBase 数据模型

·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 (文件中的数据块) │ └── … └── …

三、角色映射

·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
赞 (0)
上一篇 4天前
下一篇 4天前