更新時(shí)間:2021-05-18 來(lái)源:傳智教育 瀏覽量:
HBase分布式數(shù)據(jù)庫(kù)的數(shù)據(jù)存儲(chǔ)在行列式的表格中,它是一個(gè)多維度的映射模型,其數(shù)據(jù)模型如圖1所示。
圖1 HBase的數(shù)據(jù)模型
在圖1中包含了很多的字段,這些字段分別表示不同的含義,具體介紹如下:
Row Key(行鍵)
RowKey表示行鍵,每個(gè)HBase表中只能有一個(gè)行鍵,它在HBase中以字典序的方式存儲(chǔ)。由于RowKey是HBase表的唯一標(biāo)識(shí),因此Row Key的設(shè)計(jì)非常重要。數(shù)據(jù)的存儲(chǔ)規(guī)則是相近的數(shù)據(jù)存儲(chǔ)到一起。例如,當(dāng)Row Key格式為[www.apache.org、mail.apache.org](http://www.apache.org、mail.apache.org)以及jira.apache.org這樣的網(wǎng)站名稱(chēng)時(shí),可以將網(wǎng)站名稱(chēng)進(jìn)行反轉(zhuǎn),反轉(zhuǎn)成org.apache.www、org.apache.mail以及org.apache.jira,然后再進(jìn)行存儲(chǔ),這樣的話,所有org.apache域名將會(huì)存儲(chǔ)在一起,避免子域名(即www、mail、jira)分散在各處。
Column(列)
HBase表的列是由列族名、限定符以及列名組成的,其中“:”為限定符。創(chuàng)建HBase表不需要指定列,因?yàn)榱惺强勺兊?,非常靈活。
Column Family(列族)
在HBase中,列族由很多列組成。在同一個(gè)表里,不同列族有完全不同的屬性,但是同一個(gè)列族內(nèi)的所有列都會(huì)有相同的屬性,因?yàn)樗麄兌荚谝粋€(gè)列族里面,而屬性都是定義在列族上的。c1、c2、c3均為列族名。
Timestamp(時(shí)間戳)
表示時(shí)間戳,記錄每次操作數(shù)據(jù)的時(shí)間,通常記作數(shù)據(jù)的版本號(hào)。
Redis、傳統(tǒng)數(shù)據(jù)庫(kù)、HBase和Hive幾種數(shù)據(jù)存儲(chǔ)的區(qū)別
HBase讀寫(xiě)數(shù)據(jù)流程詳細(xì)介紹