逻辑视图
HBase数据存储结构中主要包括:表、行、列族、列限定符、单元格和时间戳,下面将对HBase的数据存储模型的概念一一解释:
表(table):表的作用将存储在HBase的数据组织起来,一个表包含多行
行(row):行键没有数据类型,在HBase存储系统中行键总是被看作一个byte数组。一行数据包含一个唯一标识 rowkey、多个column以及对应的value 值,所有的row 都按照rowkey的字典顺序由小到大排列。
列(colunm):包含两部分
列族(column family):创建表时指定,不能随意增减
列限定符(qualifier):一个column family 下可设置任意多 qualifier,可认为列(family:qualifer)可动态增加
时间戳(timestamp):每个cell 写入HBase 的时候,都会默认分配当前时间戳作为cell 的版本号,用户也可以指定;版本号越大,数据越新
单元格(cell):由五元数组存(row,column,timpstamp,type,value)组成的结构;type表示 put/delete 操作类型;时间以 KV 结构存储,其中 K 为 (row,column,timpstamp,type),V 为 value,具体数据都是以Byte数组的形式存储的,也没有具体的数据类型。
多维稀疏排序Map
多维: 五元数组
稀疏:空值不需要填充
排序:不仅仅按照rowkey 字典排序;rowkey相同,column字典排序,column 相同,timestamp 倒序
网友评论