hbase2.1.x 表中各部分概念和逻辑结构(图)

表

hbase 的表结构图

概念

NameSpace

命名空间,类似于关系型数据库的 DatabBase 概念,每个命名空间下有多个表。

HBase有两个自带的命名空间,分别是 hbase 和 default:

  • hbase:HBase 内置的表
  • default:用户建表时,如果未指定 namespace,那么就创建在 default下

在 zookeeper 中,如下图:

Column

HBase 中的每个列都由 Column Family(列族)和 Column Qualifier(列限定符)进行限定

例如 info:name,info:age

建表时,只需指明 列族,而 列限定符 无需预先定义。

RowKey

相当于 mysql 中的主键。在 hbase 中,每行记录必须有 rowkey

RowKey 的设计十分重要,可以方便快速查询检索

Row

HBase 表中的每行数据都由一个 RowKey 和多个 Column(列)组成,数据是按照 RowKey
的 字典顺序 存储的

TimeStamp

与 mysql 不同,hbase 不会 真正的修改数据

而是又 添加 一个数据,用 timestamp 标识数据的不同版本(version),每条数据写入时,如果不指定时间戳,系统会自动为其加上该字段,其值为写入 HBase 的时间。

如果删除该数据,查询时,会显示 上一版本的数据

Cell

由 {rowkey, column Family:column Qualifier, time Stamp} 唯一确定的单元。cell 中的数据是没有类型的,全部是 字节 存储


原文出处:/show_1IX1xj33TY6l.html