亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

HBase中為什么要有Column Family

HBase中為什么要有Column Family

慕仙森 2018-11-05 00:00:38
HBase中為什么要有Column Family
查看完整描述

1 回答

?
繁花如伊

TA貢獻2012條經驗 獲得超12個贊

HBase本身的設計目標是支持稀疏表,而稀疏表通常會有很多列,但是每一行有值的列又比較少。
如果不使用Column Family的概念,那么有兩種設計方案:
1.把所有列的數據放在一個文件中(也就是傳統的按行存儲)。那么當我們想要訪問少數幾個列的數據時,需要遍歷每一行,讀取整個表的數據,這樣子是很低效的。
2.把每個列的數據單獨分開存在一個文件中(按列存儲)。那么當我們想要訪問少數幾個列的數據時,只需要讀取對應的文件,不用讀取整個表的數據,讀取效率很高。然而,由于稀疏表通常會有很多列,這會導致文件數量特別多,這本身會影響文件系統的效率。

而Column Family的提出就是為了在上面兩種方案中做一個折中。HBase中將一個Column Family中的列存在一起,而不同Column Family的數據則分開。
由于在HBase中Column Family的數量通常很小,同時HBase建議把經常一起訪問的比較類似的列放在同一個Column Family中,這樣就可以在訪問少數幾個列時,只讀取盡量少的數據。

查看完整回答
反對 回復 2018-11-08
  • 1 回答
  • 0 關注
  • 731 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號