对于HBase需要四个维度才能定义一个数据
RowKey
类似于关系型数据库的ID用来唯一的标明对应列族的数据列族一般占用64K的数据长度,但是可以动态分配RowKey会默认按照字典序进行排序(这也是将来优化的一个重点) Timestamp
时间戳,或者数据的版本不同的列族可以有不同的时间版本默认version使用当前系统时间的毫秒数也可以自定义version,但是需要考虑版本的设置策略防止出现出重复的版本因为Hbase的数据存放在HDFS上HDFS不支持数据的修改,所以对于修改操作其实就是新增操作,然后不同的数据上有对应的时间戳,数据以时间戳为标准降序排列新插入的数据就会被优先查询到,根据用户设置的版本数据,保留有效的时间戳一般数据有两种清除的方式
超过版本数超过存储的时间 Column Family
可以把它作为有相同意义的列集合体通过列族才能找到对应的列一般项目中很少设计超过3个列族在创建表的时候必须预先给出列族 Qualifier
就属于列族中的一个属性或者可以把它当做列族中的一个子列查询的时候,通过rowkey找到列族,通过列族在查找子列 Cell
这就是我们通过4个维度最终定位的数据单元格由上面四个维度共同决定所有数据存储在HBase上都是无数据类型的,统一为字节数组