HBase數(shù)據(jù)模型的概念

本文所述版本為HBase2.X

HBase官方文檔的說法伞广,HBase是一個multi-dimensional map(多維表)糊秆,BigTable論文中也稱BigTable為"sparse,distributed, persistent multidimensional sorted map"认烁,這個說法可以根據(jù)它的整個表設計來看。在HBase的表設計中膛虫,有Row,Column,Column Family饶碘,Column Qualifier,Cell馒吴,Timestamp扎运。

  • Row,HBase中的一行由行鍵和一列或多列與它們相關聯(lián)的值組成饮戳。在每一行中有一個非常重要的概念叫做rowkey豪治,它是依照順序字母去排序的,這樣的好處是它的scan操作可以得到很好的優(yōu)化扯罐,帶來的問題是负拟,如果分布不均勻的化,在分布式的存儲中篮赢,將會造成一塊數(shù)據(jù)存儲在同一個region齿椅,對于單節(jié)點壓力過大的問題。所以通常對于rowkey的設計是使用例如SHA-1的散列算法作為開頭启泣,然后拼接實際的業(yè)務Id涣脚。
  • Column,HBase中的列由列族和列限定符組成寥茫,它們由:(冒號)字符分隔遣蚀。
  • Column Family,在HBase中一個列簇的數(shù)據(jù)是存儲在一起的纱耻,一個列簇下可以有多個列芭梯。在通常的設計中,一般不建議設計過多的列簇弄喘。這樣做的目的是size較大的數(shù)據(jù)和小size的關鍵數(shù)據(jù)可以分列簇存儲玖喘,在一些查詢操作中可以做到高效。
  • cell:單元格蘑志,由五元組(row, column, timestamp, type, value)組成的結構累奈,代表該值的版本贬派。
  • Column Qualifier,一個columnfamily下可以設置任意多個qualifier澎媒,因此可以理解為HBase中的列可以動態(tài)增加搞乏,理論上甚至可以擴展到上百萬列。比如content:html,content:pdf戒努,content為列簇请敦,html和pdf為列名。
  • timestamp储玫,時間戳侍筛,每個cell在寫入HBase的時候都會默認分配一個時間戳作為該cell的版本,當然缘缚,用戶也可以在寫入的時候自帶時間戳勾笆。

視圖

在說物理視圖和邏輯視圖之前敌蚜,我們先說說兩者之間的區(qū)別桥滨。
物理視圖指反映當前系統(tǒng)的組織機構、輸入輸出弛车、資源利用情況和日常數(shù)據(jù)處理過程的模型齐媒。
邏輯視圖指在物理模型的基礎上進行分析,區(qū)分出本質(zhì)的和非本質(zhì)的因素纷跛,去掉那些非本質(zhì)的因素喻括,特別是非本質(zhì)的物理因素,從而形成反映系統(tǒng)本質(zhì)的模型贫奠。
從HBase角度來講唬血,我們大體可以理解為邏輯視圖是我們看待HBase整個表用存儲結構整體的視圖結構,物理視圖則是其中的一些細節(jié)部分唤崭,以及邏輯視圖沒能表現(xiàn)出來的細節(jié)拷恨。

邏輯視圖

從官網(wǎng)文檔的一張圖來看

邏輯視圖webtable表

有一個名為webtable的表,其中包含兩行(com.cnn.www和com.example.www)和三個列族谢肾,分別名為content腕侄,anchor和people。 在此示例中芦疏,對于第一行(com.cnn.www)冕杠,列簇anchor包含兩列(anchor:cssnsi.com,anchor:my.look.ca)酸茴,列簇contents包含一列(contents:html)分预。 示例包含行鍵com.cnn.www的行的5個版本,以及行鍵com.example.www的行的一個版本薪捍。 content:html列限定符包含給定網(wǎng)站的整個HTML笼痹。 anchor列簇的列均包含鏈接到該行表示的站點的外部站點魁淳,以及在其鏈接的anchor中使用的文本。 people列簇代表與該站點關聯(lián)的人員与倡。

物理視圖

ColumnFamily anchor
ColumnFamily contents

概念視圖中顯示的空單元格根本不存儲界逛。 因此,在時間戳記t8處對content:html列的值的請求將不返回任何值纺座。但是息拜,如果未提供時間戳,則將返回特定列的最新值净响。 給定多個版本時候少欺,因為時間戳以降序存儲,所以最新的也是找到的第一個版本馋贤。因此赞别,如果未指定時間戳,則對com.cnn.www行中所有列的值的請求將是:來自時間戳t6的content:html的值配乓,來自時間戳t9的anchor:cnnsi.com的值仿滔, 時間戳記t8中的anchor:my.look.ca

Namespace

命名空間是表的邏輯分組犹芹,類似于關系數(shù)據(jù)庫系統(tǒng)中的數(shù)據(jù)庫崎页。

Version

在HBase中版本是降序存儲的,所以腰埂,如果不指定版本獲取數(shù)據(jù)飒焦,將拿到最新版本。
版本的設計結構如下

hbase> alter ‘t1′, NAME => ‘f1′, VERSIONS => 5

Join

HBase不支持Join操作屿笼。
但是牺荠,這并不意味著不能進行聯(lián)表查詢,而意味著得自己去做驴一。 兩種主要策略是在寫入HBase時對數(shù)據(jù)進行非規(guī)范化休雌,也就是說把數(shù)據(jù)存儲在一張表中』着浚或者在應用執(zhí)行中具有添加一個查找表挑辆,進行兩個表的關聯(lián)。

?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末孝情,一起剝皮案震驚了整個濱河市鱼蝉,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌箫荡,老刑警劉巖魁亦,帶你破解...
    沈念sama閱讀 222,104評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異羔挡,居然都是意外死亡洁奈,警方通過查閱死者的電腦和手機间唉,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,816評論 3 399
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來利术,“玉大人呈野,你說我怎么就攤上這事∮∪” “怎么了被冒?”我有些...
    開封第一講書人閱讀 168,697評論 0 360
  • 文/不壞的土叔 我叫張陵,是天一觀的道長轮蜕。 經(jīng)常有香客問我昨悼,道長,這世上最難降的妖魔是什么跃洛? 我笑而不...
    開封第一講書人閱讀 59,836評論 1 298
  • 正文 為了忘掉前任率触,我火速辦了婚禮,結果婚禮上汇竭,老公的妹妹穿的比我還像新娘葱蝗。我一直安慰自己,他們只是感情好韩玩,可當我...
    茶點故事閱讀 68,851評論 6 397
  • 文/花漫 我一把揭開白布垒玲。 她就那樣靜靜地躺著,像睡著了一般找颓。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上叮贩,一...
    開封第一講書人閱讀 52,441評論 1 310
  • 那天击狮,我揣著相機與錄音,去河邊找鬼益老。 笑死彪蓬,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的捺萌。 我是一名探鬼主播档冬,決...
    沈念sama閱讀 40,992評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼桃纯!你這毒婦竟也來了酷誓?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 39,899評論 0 276
  • 序言:老撾萬榮一對情侶失蹤态坦,失蹤者是張志新(化名)和其女友劉穎盐数,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體伞梯,經(jīng)...
    沈念sama閱讀 46,457評論 1 318
  • 正文 獨居荒郊野嶺守林人離奇死亡玫氢,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,529評論 3 341
  • 正文 我和宋清朗相戀三年帚屉,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片漾峡。...
    茶點故事閱讀 40,664評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡攻旦,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出生逸,到底是詐尸還是另有隱情敬特,我是刑警寧澤,帶...
    沈念sama閱讀 36,346評論 5 350
  • 正文 年R本政府宣布牺陶,位于F島的核電站伟阔,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏掰伸。R本人自食惡果不足惜皱炉,卻給世界環(huán)境...
    茶點故事閱讀 42,025評論 3 334
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望狮鸭。 院中可真熱鬧合搅,春花似錦、人聲如沸歧蕉。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,511評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽惯退。三九已至赌髓,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間催跪,已是汗流浹背锁蠕。 一陣腳步聲響...
    開封第一講書人閱讀 33,611評論 1 272
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留懊蒸,地道東北人荣倾。 一個月前我還...
    沈念sama閱讀 49,081評論 3 377
  • 正文 我出身青樓,卻偏偏與公主長得像骑丸,于是被迫代替她去往敵國和親舌仍。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 45,675評論 2 359

推薦閱讀更多精彩內(nèi)容