LSM樹在HBase中怎么應用

這篇文章主要介紹LSM樹在HBase中怎么應用,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!

我們提供的服務有:成都網(wǎng)站設計、網(wǎng)站建設、微信公眾號開發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認證、煙臺ssl等。為千余家企事業(yè)單位解決了網(wǎng)站和推廣的問題。提供周到的售前咨詢和貼心的售后服務,是有科學管理、有技術(shù)的煙臺網(wǎng)站制作公司

LSM樹全稱是基于日志結(jié)構(gòu)的合并樹(Log-Structured Merge-Tree)。No-SQL數(shù)據(jù)庫一般采用LSM樹作為數(shù)據(jù)結(jié)構(gòu),HBase也不例外。眾所周知,RDBMS一般采用B+樹作為索引的數(shù)據(jù)結(jié)構(gòu),如圖1。RDBMS中的B+樹一般是3層n路的平衡樹。B+樹的節(jié)點對應于磁盤數(shù)據(jù)塊。因此對于RDBMS,數(shù)據(jù)更新操作需要5次磁盤操作(從B+樹3次找到記錄所在數(shù)據(jù)塊,再加上一次讀和一次寫)。

在RDBMS中,數(shù)據(jù)隨機無序?qū)懺诖疟P塊中,如果沒有B+樹,讀性能會很低。B+樹對于數(shù)據(jù)讀操作能很好地提高性能,但對于數(shù)據(jù)寫,效率不高。對于大型分布式數(shù)據(jù)系統(tǒng),B+樹還無法與LSM樹相抗衡。

LSM樹在HBase中怎么應用

圖1 B+ 樹

LSM樹可以看成n層合并樹。在HBase中,它把隨機寫轉(zhuǎn)換成對memstore和hfile的連續(xù)寫。圖2展示了LSM樹數(shù)據(jù)寫的過程。

LSM樹在HBase中怎么應用

圖2 LSM樹

數(shù)據(jù)寫(插入,更新):數(shù)據(jù)首先順序?qū)懭鏷log (WAL), 然后寫到MemStore, 在MemStore中,數(shù)據(jù)是一個2層B+樹(圖2中的C0樹)。MemStore滿了之后,數(shù)據(jù)會被刷到storefile (hFile),在storefile中,數(shù)據(jù)是3層B+樹(圖2中的C1樹),并針對順序磁盤操作進行優(yōu)化。

數(shù)據(jù)讀:首先搜索MemStore,如果不在MemStore中,則到storefile中尋找。

數(shù)據(jù)刪除:不會去刪除磁盤上的數(shù)據(jù),而是為數(shù)據(jù)添加一個刪除標記。在隨后的major compaction中,被刪除的數(shù)據(jù)和刪除標記才會真的被刪除。

LSM數(shù)據(jù)更新只在內(nèi)存中操作,沒有磁盤訪問,因此比B+樹要快。對于數(shù)據(jù)讀來說,如果讀取的是最近訪問過的數(shù)據(jù),LSM樹能減少磁盤訪問,提高性能。

以上是“LSM樹在HBase中怎么應用”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對大家有幫助,更多相關(guān)知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!

文章名稱:LSM樹在HBase中怎么應用
文章來源:http://muchs.cn/article0/ighhoo.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供靜態(tài)網(wǎng)站、網(wǎng)站維護商城網(wǎng)站、電子商務、網(wǎng)站設計公司、外貿(mào)網(wǎng)站建設

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

網(wǎng)站建設網(wǎng)站維護公司