天天看点

史上最简单的HBase表结构分析(有图有真相)

HBase中有三种东西:RowKey,TimeStamp(时间戳),列族

一个RowKey代表一行数据,

TimeStamp(时间戳)根据时间的先后可以看作是数据的版本号,

而列族下面可以装很多的列。

下面我们来看一张表,看完你认为它是几行?

史上最简单的HBase表结构分析(有图有真相)

没错,答案是一行,可能有人纳闷了,为什么是一行?

因为数据都在一个RowKey里,在HBase中,一个RowKey代表一行

不理解可以看下面的图,"RK001"就是一个RowKey,整个红色方框里面的都算一行。

史上最简单的HBase表结构分析(有图有真相)

接下来我们看看什么是列族?(用图说话)

史上最简单的HBase表结构分析(有图有真相)

CF1就是一个列族,一张表里一般不超过3个列族。有人可能心里犯嘀咕了,3个列族能放多少数据啊?

可以这么告诉你,就算只有一个列族,它也可以存很多的数据。

因为列族不是普通的列,它可以存很多的列。

那么怎么存很多的列?我们拿列族CF1当个例子,看下图

史上最简单的HBase表结构分析(有图有真相)

CF1下面居然还可以放name,age,sex这样的列(列祖下面的列,有没有二级列的),是不是很神奇。

这样即使只有一个列族,我们也可以存很多的数据。

存数据的多少看的是列族下面有多少的列(列祖下面的列,我们可以认为是二级列,比如上面的name,age,…)

有不明白欢迎留言!

继续阅读