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