4 回答

TA貢獻(xiàn)1803條經(jīng)驗(yàn) 獲得超6個(gè)贊
HBase本身的設(shè)計(jì)目標(biāo)是支持稀疏表,而稀疏表通常會(huì)有很多列,但是每一行有值的列又比較少。如果不使用Column Family的概念,那么有兩種設(shè)計(jì)方案:1.把所有列的數(shù)據(jù)放在一個(gè)文件中(也就是傳統(tǒng)的按行存儲(chǔ))。那么當(dāng)我們想要訪問(wèn)少數(shù)幾個(gè)列的數(shù)據(jù)時(shí),需要遍歷每一行,讀取整個(gè)表的數(shù)據(jù),這樣子是很低效的。2.把每個(gè)列的數(shù)據(jù)單獨(dú)分開(kāi)存在一個(gè)文件中(按列存儲(chǔ))。那么當(dāng)我們想要訪問(wèn)少數(shù)幾個(gè)列的數(shù)據(jù)時(shí),只需要讀取對(duì)應(yīng)的文件,不用讀取整個(gè)表的數(shù)據(jù),讀取效率很高。然而,由于稀疏表通常會(huì)有很多列,這會(huì)導(dǎo)致文件數(shù)量特別多,這本身會(huì)影響文件系統(tǒng)的效率。而Column Family的提出就是為了在上面兩種方案中做一個(gè)折中。HBase中將一個(gè)Column Family中的列存在一起,而不同Column Family的數(shù)據(jù)則分開(kāi)。由于在HBase中Column Family的數(shù)量通常很小,同時(shí)HBase建議把經(jīng)常一起訪問(wèn)的比較類似的列放在同一個(gè)Column Family中,這樣就可以在訪問(wèn)少數(shù)幾個(gè)列時(shí),只讀取盡量少的數(shù)據(jù)。

TA貢獻(xiàn)1851條經(jīng)驗(yàn) 獲得超4個(gè)贊
hadoop的hdfs支持海量數(shù)據(jù)量存儲(chǔ) mapreduce支持對(duì)海量數(shù)據(jù)的分布式處理 oracle雖然可以搭建集群 但是當(dāng)數(shù)據(jù)量達(dá)到一定限度之后查詢處理速度會(huì)變得很慢 且對(duì)機(jī)器性能要求很高 其實(shí)這兩個(gè)東西不是同類 hadoop是一個(gè)分布式云處理架構(gòu),傾向于數(shù)據(jù)計(jì)算 而oracle是一個(gè)關(guān)系型數(shù)據(jù)庫(kù),傾向于數(shù)據(jù)存儲(chǔ)。要說(shuō)比較可以比較hbase與oracle。 hbase是一種nosql數(shù)據(jù)庫(kù),列式數(shù)據(jù)庫(kù),支持海量數(shù)據(jù)存儲(chǔ),支持列的擴(kuò)展,但是查詢操作較復(fù)雜,不如oracle這類關(guān)系型數(shù)據(jù)庫(kù)簡(jiǎn)單,且只支持一個(gè)索引,但是Hbase在表結(jié)構(gòu)設(shè)置合理情況下,查詢速度跟數(shù)據(jù)量大小沒(méi)有太大關(guān)系,即數(shù)據(jù)量的大小不會(huì)影響到查詢速度,順便說(shuō)句Hbase查詢速度可以達(dá)到ms級(jí)

TA貢獻(xiàn)1835條經(jīng)驗(yàn) 獲得超7個(gè)贊
對(duì)于一個(gè)曾經(jīng)運(yùn)維過(guò)幾百個(gè)節(jié)點(diǎn)的HBase集群的運(yùn)維人員,并且Request每秒在5w以上,一定遇到過(guò)如下類似的問(wèn)題。 ZooKeeper服務(wù)在不停地報(bào)警指示在zookeeper的unassigned路徑由一些節(jié)點(diǎn)在會(huì)一直存在,而且它的版本在不斷增加。
- 4 回答
- 0 關(guān)注
- 1004 瀏覽
添加回答
舉報(bào)