日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

HBase中Bloomfilter类型的设置及使用的理解

發(fā)布時(shí)間:2024/1/17 编程问答 46 豆豆
生活随笔 收集整理的這篇文章主要介紹了 HBase中Bloomfilter类型的设置及使用的理解 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
1.Bloomfilter的原理? ?
可參考? http://hi.baidu.com/yizhizaitaobi/blog/item/cc1290a0a0cd69974610646f.html ?

2.Bloomfilter在HBase中的作用? ?
HBase利用Bloomfilter來(lái)提高隨機(jī)讀(Get)的性能,對(duì)于順序讀(Scan)而言,設(shè)置Bloomfilter是沒(méi)有作用的(0.92以后,如果設(shè)置了bloomfilter為ROWCOL,對(duì)于指定了qualifier的Scan有一定的優(yōu)化,但不是那種直接過(guò)濾文件,排除在查找范圍的形式)?

3.Bloomfilter在HBase中的開(kāi)銷? ?
Bloomfilter是一個(gè)列族(cf)級(jí)別的配置屬性,如果你在表中設(shè)置了Bloomfilter,那么HBase會(huì)在生成StoreFile時(shí)包含一份bloomfilter結(jié)構(gòu)的數(shù)據(jù),稱其為MetaBlock;MetaBlock與DataBlock(真實(shí)的KeyValue數(shù)據(jù))一起由LRUBlockCache維護(hù)。所以,開(kāi)啟bloomfilter會(huì)有一定的存儲(chǔ)及內(nèi)存cache開(kāi)銷。?

4.Bloomfilter如何提高隨機(jī)讀(Get)的性能? ?
對(duì)于某個(gè)region的隨機(jī)讀,HBase會(huì)遍歷讀memstore及storefile(按照一定的順序),將結(jié)果合并返回給客戶端。如果你設(shè)置了bloomfilter,那么在遍歷讀storefile時(shí),就可以利用bloomfilter,忽略某些storefile。?

5.HBase中的Bloomfilter的類型及使用? ?

a)ROW, 根據(jù)KeyValue中的row來(lái)過(guò)濾storefile?
舉例:假設(shè)有2個(gè)storefile文件sf1和sf2,?
sf1包含kv1(r1 cf:q1 v)、kv2(r2 cf:q1 v)?
sf2包含kv3(r3 cf:q1 v)、kv4(r4 cf:q1 v)?
如果設(shè)置了CF屬性中的bloomfilter為ROW,那么get(r1)時(shí)就會(huì)過(guò)濾sf2,get(r3)就會(huì)過(guò)濾sf1?

b)ROWCOL,根據(jù)KeyValue中的row+qualifier來(lái)過(guò)濾storefile?
舉例:假設(shè)有2個(gè)storefile文件sf1和sf2,?
sf1包含kv1(r1 cf:q1 v)、kv2(r2 cf:q1 v)?
sf2包含kv3(r1 cf:q2 v)、kv4(r2 cf:q2 v)?
如果設(shè)置了CF屬性中的bloomfilter為ROW,無(wú)論get(r1,q1)還是get(r1,q2),都會(huì)讀取sf1+sf2;而如果設(shè)置了CF屬性中的bloomfilter為ROWCOL,那么get(r1,q1)就會(huì)過(guò)濾sf2,get(r1,q2)就會(huì)過(guò)濾sf1?

6.ROWCOL一定比ROW效果好么? ?
不一定?

a)ROWCOL只對(duì)指定列(Qualifier)的隨機(jī)讀(Get)有效,如果應(yīng)用中的隨機(jī)讀get,只含row,而沒(méi)有指定讀哪個(gè)qualifier,那么設(shè)置ROWCOL是沒(méi)有效果的,這種場(chǎng)景就應(yīng)該使用ROW?

b)如果隨機(jī)讀中指定的列(Qualifier)的數(shù)目大于等于2,在0.90版本中ROWCOL是無(wú)效的,而在0.92版本以后,HBASE-2794對(duì)這一情景作了優(yōu)化,是有效的(通過(guò)KeyValueScanner#seekExactly)?

c)如果同一row多個(gè)列的數(shù)據(jù)在應(yīng)用上是同一時(shí)間put的,那么ROW與ROWCOL的效果近似相同,而ROWCOL只對(duì)指定了列的隨機(jī)讀才會(huì)有效,所以設(shè)置為ROW更佳?

7.ROWCOL與ROW只在名稱上有聯(lián)系,ROWCOL并不是ROW的擴(kuò)展,不能取代ROW?

8.region下的storefile數(shù)目越多,bloomfilter的效果越好?

9.region下的storefile數(shù)目越少,HBase讀性能越好
?

總結(jié)

以上是生活随笔為你收集整理的HBase中Bloomfilter类型的设置及使用的理解的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。