1、HBase是一个稀疏、多维度、排序的映射表,这张表的索引是行键、列族、列限定符和时间戳
2、每个值是一个未经解释的字符串,没有数据类型
3、用户在表中存储数据,每一行都有一个可排序的行键和任意多的列
表:HBase采用表来组织数据,表由行和列组成,列划分为若干个列族
行:每个HBase表都由若干行组成,每个行由行键(row key)来标识
列族:一个HBase表备份组成许多"列族"(Column Family)的集合,他是基本的访问控制单元
列限定符:列族里的数据通过列限定符(或例)来定位
单元格:在HBase表中,通过行、列族和列限定符确定一个“单元格”(cell),单元格中存储的数据没有数据类型,总被视为字节数组byte[]
时间戳:每个单元格都保存着一份数据的多个版本,这些版本采用时间戳进行索引
Hbase中需要根据行键->列族->列限定符和时间戳来确定一个单元格,因此可以视为一个“四维坐标”,即【行键,列族,列限定符,时间戳】
ps.取数据的时候不用传入时间按戳,HBase默认取最新一条。
如上图中:
键 | 值 |
["201505003","info","email",1174184619081] | "xie@qq.com" |
["201505003","info","email",1174184620720] | "you@qq.com" |
HBase底层是借助HDFS存储数据,当修改单元格的数据时,根据时间戳生成最新版本的数据,不对原来的数据修改