Bootstrap

HBase的数据模型的各个名词解读!

HBase的数据模型

数据模型

RowKey

  • 是数据的唯一标识
  • 默认由64k的数据组成,但是实际使用中按照用户的需求自由定义
  • 分配空间的时候使用多少分配多少,但是rowkey设计的时候够用就行
  • 当我们插入数据的时候,HBase会按照RowKey的字典序给我们排序
    • HBase中的数据默认按照rowkey有序
    • 注意字典的排序规则

TimeStamp

  • 数据的版本控制器

  • 它是基于HDFS储存的一种策略

    • 版本就是环节了HDFS与数据修改的冲突
    • 其实修改的数据/删除的数据并不会马上修改HDFS的数据
  • 我们定义列族的时候可以指定最多保留的版本

    • 将来我们修改同一个数据的时候,根据版本数来确定数据是否显示
    • 默认的版本号就是当前系统的毫秒数
  • 我们查询数据的时候,如果不指定版本数,默认显示版本号最新的数据

  • 取数据的时候,不同的版本信息对应的数据可能不同

列族(Column Family)

  • 将功能属性相近的放在一个列族
  • 同一个列族中的列会存放在同一个Store中
  • 列族一般需要在创建表的时候进行声明,而且一般一个表中的列族不超过3个
  • 表中所有的列都是基于列族

列(QUalifier)

  • 列必须基于列族
  • 使用的时候必须 列族:列
  • 列可以根据需求动态添加或者删除

Cell

  • 最终定位到的资源
  • 由(RowKey+TimeStamp+CF+Qualifier)联合精准查找到一个数据
  • 因为HDFS上的数据都是字节数组,所以HBase没有数据类型(字节码)
;