[TOC]
1 hbase的表结构
1.1 row key
row key是行键,是每一行记录都有的一个唯一key,这是我们查询的主要方式
1.2 列族
列族可以看作是多个列的集合,一个列族中包含多个列,同一个列族中的数据会存储在同一个文件,利用好列族可以提升查询速度,列族属于schema的一部分,意味着我们创建表的时候要指定列族,列名都以列族作为前缀,比如 user:id
,user:name
都属于user
这个列族
1.3 单元
hbase是一个三维表,因为它有时间的概念,所以一个单元,其实就是类似excel中的一个格子,但是与之不同的是,不同的时间维度,对应的单元也不一样
或者这样说,通过row key
,列族
,版本
而确定的唯一的一个单元,而在hbase中,单元是没有数据类型的,全部都是字节
1.4 时间戳
之前也提到了,hbase是一个三维表,我们每保存一条数据,都肯定会有一个时间戳,如果我们不给,那么hbase在保存的时候会自动给,所以它是一个肯定有的一个值,同一个单元,在不同的时间版本中,会有不同的数据
比如对应用户手机号码的这一个单元,在不同的时间段,它会有不同的手机号码,因为用户可能会换手机号码,而我们就可以通过时间戳的版本,记录用户多次更换的手机号码
网友评论