你的点赞与评论是我最大的创作动力!
HBase表的数据模型主要概念包括rowkey、Column Family、Column、cell、Timestamp。
1. rowkey行键
- table的主键,table中的记录按照rowkey 的字典序进行排序
- rowkey行键可以是任意字符串(最大长度是 64KB,实际应用中长度一般为 10-100bytes)
2. Column Family列族
- 被称为列族或列簇
- HBase表中的每个列,都归属与某个列族
- 列族是表的schema的一部分(而列不是),即建表时至少指定一个列族
- 比如创建一张表,名为
user
,有两个列族,分别是userInfo
和addressInfo
,建表语句create 'user', 'userInfo', 'addressInfo'
3. Column列
- 列肯定是表的某一列族下的一个列,用
列族名:列名
表示,如userInfo
列族下的name
列,表示为userInfo:name
- 它属于某一个ColumnFamily,类似于我们mysql当中创建的具体的列
4. cell单元格
-
知道row key行键、列族、列,可以确定的一个cell单元格
-
cell中的数据是没有类型的,全部是以字节数组进行存储
5. Timestamp时间戳
- 可以对表中的Cell多次赋值,每次赋值操作时的时间戳timestamp,可看成Cell值的版本号version number
- 即一个Cell可以有多个版本的值