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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

HBase之BloomFilter

發布時間:2024/1/17 编程问答 39 豆豆
生活随笔 收集整理的這篇文章主要介紹了 HBase之BloomFilter 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

HBase的Get/Scan操作流程

?
hbase中有BloomFilter的功能,可以在有些情況下過濾掉不需要的hfile,節省IO。

BloomFilter作用

BloomFilter在HBase中的作用??
HBase**利用BloomFilter來提高隨機讀**(Get)的性能,對于順序(Scan)而言,設置Bloomfilter是沒有作用的(0.92以后,如果設置了bloomfilter為ROWCOL,對于指定了qualiter的Scan有一定的優化)。

BloomFilter在HBase中的開銷??
BloomFilter是一個列族(of)級別的配置屬性,如果在表中設置了BloomFilter,那么HBase會在生成StoreFile時,包含一份BloomFilter?
結構的數據,稱其為MetaBlock;MetaBlock與DataBlock(真實的KeyValue數據)一起由LRUBlockCache維護,所以開啟BloomFilter會有一定的存儲及內存cache開銷。

HBase中的Bloomfilter的類型及使用

ROW:根據KeyValue中的row來過濾storefile。?
舉例:假設有2個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)

如果設置了CF屬性中的bloomfilter為ROW,那么get(r1)時就會過濾sf1,get(r3)就會過濾sf2

ROWCOL:根據KeyValue中的row+qualifier來過濾storefile。?
舉例:假設有2個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)

如果設置了CF屬性中的bloomfilter為ROW,?
無論get(r1,q1)還是get(r1,q2),都會讀取sf1+sf2;?
而如果設置了CF屬性中的bloomfilter為ROWCOL,那么get(r1,q1)就會過濾sf2,get(r1,q2)就會過濾sf1

ROWCOL一定比ROW效果好么?

答案:不一定?
a、ROWCOL只對指定列(Qualifier)的隨機讀(Get)有效,如果應用中的隨機讀get,只含row,而沒有指定讀哪個qualifier,那么設置ROWCOL是沒有效果的,這種場景就應該使用ROW。?
b、如果隨機讀中指定的列(Qualifier)的數目大于等于2,在0.90版本中ROWCOL是無效的,而在0.92版本以后,HBASE-2794對這一情景作了優化,是有效的(通過KeyValueScanner#seekExactly)?
c、如果同一row多個列的數據在應用上是同一時間put的,那么ROW與ROWCOL的效果近似相同,而ROWCOL**只對指定了列**的隨機讀才會有效,所以設置為ROW更佳。

注意:?
ROWCOL與ROW只在名稱上有聯系,ROWCOL并不是ROW的擴展,不能取代ROW。?
region下的storefile數目越多,bloomfilter的效果越好。region下的storefile數目越少,HBase讀性能越好。

總結

以上是生活随笔為你收集整理的HBase之BloomFilter的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。