HBase 数据模型中有三种字段类型:Row key、Column Family 和 Column Qualifier。
1.Row key:是表中每一行的唯一标识,类似于传统数据库中的主键。在 HBase 中,Row key 是按字典序排序的,并且可以自定义 Row key 的格式和编码方式。
2.Column Family:是表中的一个逻辑分组,用于将一组相关的 Column Qualifier 归为一类。在 HBase 中,一个 Column Family 通常包含多个 Column Qualifier,但是一个 Column Qualifier 只能属于一个 Column Family。
3.Column Qualifier:是表中的一个具体的数据单元,用于存储具体的数据。在 HBase 中,一个 Column Qualifier 通常与一个时间戳一起存储,因此可以存储多个版本的数据。
这三种字段类型在 HBase 中具有不同的含义和作用:
Row key 用于唯一标识一行数据,因此应该选择具有唯一性的数据作为 Row key,例如用户 ID、设备 ID 等。
Column Family 用于将相关的数据归为一类,因此应该根据实际数据的关系和访问模式来设计 Column Family。
Column Qualifier 用于存储具体的数据,因此应该根据实际的数据类型和访问模式来设计 Column Qualifier,例如将相同类型的数据放在同一个 Column Qualifier 中。
HBase 的数据模型是基于稀疏矩阵的,即只存储非空的单元格,因此可以有效地节省存储空间。同时,由于 HBase 支持多版本数据的存储,因此可以满足不同的查询需求。