HBase是一個(gè)開(kāi)源的分布式非關(guān)系型數(shù)據(jù)庫(kù),其數(shù)據(jù)模型主要由表、行、列族、列、Cell等組成。
表(Table):HBase的數(shù)據(jù)模型是以表(Table)為基本單位存儲(chǔ)數(shù)據(jù),類(lèi)似于關(guān)系型數(shù)據(jù)庫(kù)中的表。每個(gè)表都有一個(gè)唯一的表名。
行(Row):每行代表一條記錄,其在表中的唯一標(biāo)識(shí)由行鍵(Row key)來(lái)確定。行鍵是按字節(jié)順序排序的。
列族(Column Family):每個(gè)表可以包含一個(gè)或多個(gè)列族,列族是列的集合,每個(gè)列族有一個(gè)唯一的名稱(chēng)。所有屬于同一個(gè)列族的列被存儲(chǔ)在一起,這樣可以提高讀取效率。
列(Column):列由列族和列標(biāo)識(shí)符(Qualifier)組成,列標(biāo)識(shí)符用來(lái)唯一標(biāo)識(shí)列。列可以存儲(chǔ)數(shù)據(jù)或元數(shù)據(jù)。
Cell:Cell是HBase中最小的數(shù)據(jù)單元,由行鍵、列族、列標(biāo)識(shí)符和時(shí)間戳(Timestamp)唯一確定。每個(gè)Cell中存儲(chǔ)著實(shí)際的數(shù)據(jù)。
了解HBase數(shù)據(jù)模型對(duì)于使用HBase進(jìn)行數(shù)據(jù)存儲(chǔ)和查詢(xún)操作非常重要,可以幫助用戶(hù)更好地設(shè)計(jì)數(shù)據(jù)結(jié)構(gòu)和優(yōu)化性能。