表HBase中的数据以表格形式存储。同一表中的数据通常相关,并且可以将使用表组合在一起以一起访问某些列。该表名称用作HDFS存储路径的一部分。在HDF中,每个表名称都可以看作是独立的目录结构。
HBase表的数据模型的主要概念包括Rowkey,列家族,列,单元格,时间戳。
1. Rowkey Line键2.列家庭列部落3.列4.单元格5.时间戳时间戳记了解数据模型的概念
上表显示了HBase中的用户信息表用户。有三行记录和两列(不考虑空白的liild人,这意味着可以有很多列)。氏族分别是UserInfo和adverseInfo。每列包含几列,例如列的列,包括名称,年龄,性别3列。
在HBase中,列不是固定的表结构。创建表时,您无需提前定义列表,在插入数据时可以暂时创建列表。
从表的逻辑模型来看,HBase表与关系数据库之间的表结构之间似乎没有区别,但是只有Lie People的概念。关系数据库中表中表的结构需要预先定义,例如:列表名称及其数据类型和值域。
当需要添加新列时,需要修改表结构,这将对现有数据产生重大影响。在同一时间,关系数据库中的表保留每列的存储空间,也就是说表中的空白单元数据在关系数据库中以“ null”值占据存储空间。因此,对于稀疏数据,关系数据库表将生成大量“ null”值,该值会消耗大量存储空间。
与以关系为导向的关系数据库不同,HBase是为专栏作家存储的,在实际的物理存储中,列部落是单独存储的,也就是说,表中的用户信息表将存储为userInfo和adverionInfo。
同时,HBase具有一个时间戳,可以多次分配给一个单元格,您可以存储多个版本的值。如上表所示,1个时间的数据存储在2个时间版本的数据中。
原始:https://juejin.cn/post/7098597812081786916