文章目录
1、HBse表结构
HBase 是面向列的数据库。有别于RDBMS(行式数据库),HBase将原来每一列中的数据放到一起进行存储。
RDBMS表结构(行式):
RDBMS中,每个行都是不可分割的,也就是说三个列username、age、sex 必须在一起,而且要
被存储在同一台机器上,甚至是同一个文件里面。
HBase 表结构(列式):
可以看到, RowKey 中 rk_id 这一行存储的,其实就是上一张表中对应的 id 这一列中的所有数据。也就是说,把第一张表每一列的数据值分别放到一起存储,就得到了这张表的表结构。
显然,在HBase中,每个行都是离散的。
这就是面向列的存储。
这种结构的好处是什么呢?
假如我们现在用的是关系型数据库RDBMS,我们要去存一个数据,这时候先要建立表结构,可能还要引入相关的索引,多表之间很有可能存在关联,如果当数据量比较大的时候,这时候查询上基本是很慢的。
而列式存储,每一列都是单独存放的,而且每一列的数据类型基本上是统一的(这是