天天看點

史上最簡單的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,…)

有不明白歡迎留言!

繼續閱讀