這篇文章主要介紹LSM樹在HBase中怎么應(yīng)用,文中介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們一定要看完!
我們提供的服務(wù)有:成都網(wǎng)站設(shè)計(jì)、網(wǎng)站建設(shè)、微信公眾號(hào)開發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認(rèn)證、煙臺(tái)ssl等。為千余家企事業(yè)單位解決了網(wǎng)站和推廣的問題。提供周到的售前咨詢和貼心的售后服務(wù),是有科學(xué)管理、有技術(shù)的煙臺(tái)網(wǎng)站制作公司
在RDBMS中,數(shù)據(jù)隨機(jī)無序?qū)懺诖疟P塊中,如果沒有B+樹,讀性能會(huì)很低。B+樹對(duì)于數(shù)據(jù)讀操作能很好地提高性能,但對(duì)于數(shù)據(jù)寫,效率不高。對(duì)于大型分布式數(shù)據(jù)系統(tǒng),B+樹還無法與LSM樹相抗衡。
圖1 B+ 樹
LSM樹可以看成n層合并樹。在HBase中,它把隨機(jī)寫轉(zhuǎn)換成對(duì)memstore和hfile的連續(xù)寫。圖2展示了LSM樹數(shù)據(jù)寫的過程。
圖2 LSM樹
數(shù)據(jù)寫(插入,更新):數(shù)據(jù)首先順序?qū)懭鏷log (WAL), 然后寫到MemStore, 在MemStore中,數(shù)據(jù)是一個(gè)2層B+樹(圖2中的C0樹)。MemStore滿了之后,數(shù)據(jù)會(huì)被刷到storefile (hFile),在storefile中,數(shù)據(jù)是3層B+樹(圖2中的C1樹),并針對(duì)順序磁盤操作進(jìn)行優(yōu)化。
數(shù)據(jù)讀:首先搜索MemStore,如果不在MemStore中,則到storefile中尋找。
數(shù)據(jù)刪除:不會(huì)去刪除磁盤上的數(shù)據(jù),而是為數(shù)據(jù)添加一個(gè)刪除標(biāo)記。在隨后的major compaction中,被刪除的數(shù)據(jù)和刪除標(biāo)記才會(huì)真的被刪除。
LSM數(shù)據(jù)更新只在內(nèi)存中操作,沒有磁盤訪問,因此比B+樹要快。對(duì)于數(shù)據(jù)讀來說,如果讀取的是最近訪問過的數(shù)據(jù),LSM樹能減少磁盤訪問,提高性能。
以上是“LSM樹在HBase中怎么應(yīng)用”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對(duì)大家有幫助,更多相關(guān)知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!