面試題來源:
《大數(shù)據(jù)面試題 V4.0》
大數(shù)據(jù)面試題V3.0,523道題,679頁,46w字
可回答:1)HBase為什么讀快;2)HBase是根據(jù)rowkey查詢,當(dāng)數(shù)據(jù)量相當(dāng)大的時(shí)候,是怎么讀的很快的
參考答案:
1、基于LSM樹的存儲(chǔ)方式
HBase采用基于LSM樹的存儲(chǔ)方式,這種存儲(chǔ)方式將數(shù)據(jù)分為內(nèi)存和磁盤兩層存儲(chǔ),內(nèi)存部分稱為MemStore,磁盤部分稱為HFile。MemStore存儲(chǔ)的數(shù)據(jù)是有序的,并且每次插入數(shù)據(jù)時(shí)會(huì)進(jìn)行排序和合并,因此可以減少數(shù)據(jù)的查找和排序開銷,提高查詢效率。
2、分布式存儲(chǔ)架構(gòu)
HBase采用分布式存儲(chǔ)架構(gòu),數(shù)據(jù)可以分散存儲(chǔ)在集群中的多臺(tái)機(jī)器上。在查詢時(shí),HBase可以利用分布式存儲(chǔ)架構(gòu)進(jìn)行并行查詢,從而提高查詢效率。
3、列存儲(chǔ)方式
HBase采用列存儲(chǔ)方式,同一列族的數(shù)據(jù)被存儲(chǔ)在一起,可以避免不必要的IO操作,提高數(shù)據(jù)讀取效率。
4、布隆過濾器
通過Rowkey定位Region,這當(dāng)中會(huì)先經(jīng)過BlockCache,這邊找不到的話,再經(jīng)過MemStore和Hfile查詢,這當(dāng)中通過布隆過濾器過濾掉一些不需要查詢的HFile。
5、基于Region的負(fù)載均衡
HBase會(huì)將數(shù)據(jù)劃分為多個(gè)Region進(jìn)行存儲(chǔ),每個(gè)Region對(duì)應(yīng)著一段連續(xù)的行鍵。HBase會(huì)自動(dòng)對(duì)Region進(jìn)行負(fù)載均衡,保證數(shù)據(jù)分布均勻,避免熱點(diǎn)數(shù)據(jù)和單點(diǎn)故障。文章來源:http://www.zghlxwxcb.cn/news/detail-533112.html
數(shù)據(jù)量很大的時(shí)候,HBase會(huì)拆分成多個(gè)Region分配到多臺(tái)RegionServer??蛻舳送ㄟ^meta信息定位到某臺(tái)RegionServer(也可能是多臺(tái)),通過Rowkey定位Region,這當(dāng)中會(huì)先從BlockCache(緩存)查找,找不到的話,再從MemStore和HFile查詢,這當(dāng)中通過布隆過濾器過濾掉一些不需要查詢的HFile,這樣就保證HBase的查詢速度。文章來源地址http://www.zghlxwxcb.cn/news/detail-533112.html
到了這里,關(guān)于大數(shù)據(jù)面試題:HBase為什么查詢快的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!