Hbase数据模型

HBase 以表的形式存储数据。表由行和列族组成。列划分为若干个列族(row family),
其逻辑视图如下:

 

几个关键概念:
1) 行键(RowKey)
 行键是字节数组, 任何字符串都可以作为行键;
 表中的行根据行键进行排序,数据按照 Row key 的字节序(byte order)排序
存储;
 所有对表的访问都要通过行键 (单个 RowKey 访问,或 RowKey 范围访问,
或全表扫描)2) 列族(ColumnFamily)
 CF 必须在表定义时给出
 每个 CF 可以有一个或多个列成员(ColumnQualifier),列成员不需要在表定
义时给出,新的列族成员可以随后按需、动态加入
 数据按 CF 分开存储,HBase 所谓的列式存储就是根据 CF 分开存储(每个
CF 对应一个 Store),这种设计非常适合于数据分析的情形
3) 时间戳(TimeStamp)
 每个 Cell 可能又多个版本,它们之间用时间戳区分
4) 单元格(Cell)
 Cell 由行键,列族:限定符,时间戳唯一决定
 Cell 中的数据是没有类型的,全部以字节码形式存储
5) 区域(Region)
 HBase 自动把表水平(按 Row)划分成多个区域(region),每个 region 会保
存一个表里面某段连续的数据;
 每个表一开始只有一个 region,随着数据不断插入表,region 不断增大,当
增大到一个阀值的时候,region 就会等分会两个新的 region;
 当 table 中的行不断增多,就会有越来越多的 region。这样一张完整的表被
保存在多个 Region 上。

 Region 虽然是分布式存储的最小单元,但并不是存储的最小单元。Region由一个或者多个 Store 组成,每个 store 保存一个 columns family;每个Strore 又由一个 memStore 和 0 至多个 StoreFile 组成,StoreFile 包含 HFile;memStore 存储在内存中,StoreFile 存储在 HDFS 上。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值