HBASE 数据模型

  • RowKey

    • 决定一行数据

    • 按照字典顺序排序的

    • RowKey只能存储64k的字节数据

 

  • Column Family列族 & qualifier列

    • HBase表中的每个列都归属于某个列族,列族必须作为表模式(schema)定义的一部分预先给出

    • 列名以列族作为前缀,每个“列族”都可以有多个列成员(column), 新的列族成员(列)可以随后按需、动态加入

    • 权限控制、存储以及调优都是在列族层面进行的

    • HBase把同一列族里面的数据存储在同一目录下,由几个文件保存

 

  • Timestamp时间戳

    • 在HBase每个cell存储单元对同一份数据有多个版本,根据唯一的时间戳来区分每个版本之间的差异,不同版本的数据按照时间倒序排序,最新的数据版本排在最前面

    • 时间戳的类型是 64位整型

    • 时间戳可以由HBase(在数据写入时自动)赋值,此时时间戳是精确到毫秒的当前系统时间

    • 时间戳也可以由客户显式赋值,如果应用程序要避免数据版本冲突,就必须自己生成具有唯一性的时间戳

 

  • Cell单元格

    • 由行和列的坐标交叉决定

    • 单元格是有版本的

    • 单元格的内容是未解析的字节数组 由{RowKey, column( =<family> +<qualifier>), version} 唯一确定的单元 Cell中的数据是没有类型的,全部是字节数组形式存贮

posted @ 2019-07-01 20:43  北漂屌丝  阅读(186)  评论(0编辑  收藏  举报