91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

HBase是怎么做到毫秒級查詢的

發布時間:2021-12-09 11:55:47 來源:億速云 閱讀:261 作者:iii 欄目:大數據

這篇文章主要講解了“HBase是怎么做到毫秒級查詢的”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“HBase是怎么做到毫秒級查詢的”吧!

1. 緩存

HBase有兩塊主要的內存緩存,MemStore 和 BlockCache。

具體的過程如下:

  • 一個查詢過來 regionserver 后首先用 MemStoreScanner 搜索 MemStore 里是否有所查的 rowKey ,這一步在內存中,所以是很快的。

  • 如果不在 memstore 中,會經過一系列的索引尋址會定位到 block 的位置。

  • 如果 block 在 BlockCache 緩存中則可以直接在內存中操作,速度很快,不需要再進行一次 IO 將整個 block 讀取到內存中。

2. 過濾

  • RegionServer 啟動的時候就會把每個HFile的起止 rowkey 加載到內存中,在定位 HFile 的時候可以過濾掉大部分HFile;


  • 同時同樣是加載到內存的 Bloom Block 也會通過之前說的 bloomFilter 也會過濾掉大部分一定不包含所查rowKey的HFile。

3. 索引

經過了上面的過濾,其實只剩下很少一部分的HFile需要去檢索了,HBase有三級索引,第一級索引會常駐內存,二三級的索引會以block的形式存在HFile中。

索引相關更細節的東西可以看下這篇 HBase篇(4)-你不知道的HFileHBase篇(4)-你不知道的HFile

另外可以提一下,因為HBase是多版本共存的,所以結果可能是會有多個的,因此檢索的過程不是找到一個就返回了,而是要找到所有的,然后將結果合并。


HBase的各個角色之間是怎么協調工作的?  

先說說Hbase主要包含的角色: HMaster/HRegionServer/Zookeeper

1. HRegionServer 

負責實際數據的讀寫. 當訪問數據時, 客戶端最終會直接與 RegionServer 通信。HBase的表根據Row Key的區域分成多個Region, 一個Region包含這這個區域內所有數據. 而Region server負責管理多個Region, 負責在這個Region server上的所有region的讀寫操作.

2.  HMaster 

  • 負責管理Region的位置, DDL(新增和刪除表結構);

  • 協調 RegionServer,在集群處于數據恢復或者動態調整負載時,分配Region到某一個 RegionServer 中;

  • 管控集群,監控所有 Region Server 的狀態;

  • 提供DDL相關的API, 新建(create),刪除(delete)和更新(update)表結構;

3.  Zookeeper 

負責維護和記錄整個Hbase集群的狀態。

zookeeper探測和記錄Hbase集群中服務器的狀態信息.如果zookeeper發現服務器宕機,它會通知Hbase的master節點。master 節點宕機,則會通知 backup 變成 master。


說說 HBase 的 LSM Tree?

LSM Tree即是日志結構合并樹。

先說日志結構:

日志的特點是它是順序追加寫的,可以保證非常好的寫操作性能,但是從日志文件中讀一些數據將會比寫操作需要更多的時間,需要倒序掃描,直接找到所需的內容。

LSM tree是通過把隨機寫的數據寫到內存,然后定期flush到磁盤,對于磁盤來說,讓所有的操作順序化,而不是隨機讀寫。

再說說合并樹:

LSM Tree的原理是把一棵大樹拆分成N棵小樹,它首先寫入內存中即是小樹,隨著小樹越來越大,會flush到磁盤中,磁盤中的樹定期可以做merge操作,合并成一棵大樹,以優化讀性能。

感謝各位的閱讀,以上就是“HBase是怎么做到毫秒級查詢的”的內容了,經過本文的學習后,相信大家對HBase是怎么做到毫秒級查詢的這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

岢岚县| 六盘水市| 葫芦岛市| 铜梁县| 清新县| 华蓥市| 镇江市| 台湾省| 池州市| 泸州市| 拜城县| 手机| 东山县| 易门县| 洱源县| 永和县| 调兵山市| 大石桥市| 宜城市| 汤阴县| 瑞金市| 聊城市| 始兴县| 铅山县| 沙雅县| 襄樊市| 马边| 炉霍县| 永新县| 棋牌| 八宿县| 山东| 蕉岭县| 兰坪| 济源市| 伽师县| 金川县| 沙田区| 密山市| 增城市| 广东省|