1. HBase简介
1.1 HBase定义
HBase数据模型的关键在于 稀疏、分布式、多维、排序 的映射。其中映射 map指代非关系型数据库的 key-Value结构。
1.2 HBase数据模型
1)Name Space
命名空间,类似于关系型数据库的database 概念,每个命名空间下有多个表。HBase 两个自带的命名空间,分别是hbase 和default,hbase 中存放的是HBase 内置的表,default库是用户默认使用的命名空间。
2)Table
类似于关系型数据库的表概念。不同的是, HBase 定义表时只需要声明列族即可,不需要声明具体的列。 因为数据存储是稀疏的,所有往HBase写入数据时,字段可以动态 、按需指定 。因此,和关系型数据库相比, HBase 能够轻松应对字段变更的场景。
3)Row
HBase表中的每行数据 都由一个 RowKey 和多个 Column (列)组成,数据是按照 RowKey
的字典顺序存储的 ,并且查询数据时只能根据 RowKey 进行检索,所以 RowKey 的设计十分重
要。
4)Column
HBase中的每个列都由 Column Family 列族和Column Qualifier (列限定符进行限定 ,例如 info:name, info:age 。建表时,只需指明列族,而列限定符无需预先定义。
5)Time Stamp
用于标识数据的不同版本(version),每条数据写入时,系统会自动为其加上该字段,其值为写入 HBase 的时间。
6)Cell
由 {rowkey, column Family:column