LSM的存儲以及定位-創(chuàng)新互聯(lián)

這篇文章主要講解了“LSM的存儲以及定位”,文中的講解內(nèi)容簡單清晰,易于學(xué)習(xí)與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學(xué)習(xí)“LSM的存儲以及定位”吧!

創(chuàng)新互聯(lián)建站從2013年成立,先為紅花崗等服務(wù)建站,紅花崗等地企業(yè),進行企業(yè)商務(wù)咨詢服務(wù)。為紅花崗企業(yè)網(wǎng)站制作PC+手機+微官網(wǎng)三網(wǎng)同步一站式服務(wù)解決您的所有建站問題。
  1.  LSM的存儲

主要思想是將直接修改樹形結(jié)構(gòu),改為分幾個層級來完成。當完成第一個層級時就反饋完成,其他交由后臺來處理。

流程是先寫入memory table,之后merge到低級別的sstable,最后merge到高級別的sstable。

如下是Hbase的大體結(jié)構(gòu):

LSM的存儲以及定位

    2. 定位

Trailer–這一段是定長的。保存了每一段的偏移量,讀取一個HFile時,會首先 讀取Trailer,Trailer保存了每個段的起始位置(段的Magic Number用來做安全check),然后,DataBlock Index會被讀取到內(nèi)存中,這樣,當檢索某個key時,不需要掃描整個HFile,而只需從內(nèi)存中找到key所在的block,通過一次磁盤io將整個 block讀取到內(nèi)存中,再找到需要的key。DataBlock Index采用LRU機制淘汰。

首先,能快速找到行所在的region(分區(qū)),假設(shè)表有10億條記錄,占空間1TB,   分列成了500個region,  1個region占2個G. 最多讀取2G的記錄,就能找到對應(yīng)記錄; 

其次,是按列存儲的,其實是列族,假設(shè)分為3個列族,每個列族就是666M, 如果要查詢的東西在其中1個列族上,1個列族包含1個或者多個HStoreFile,假設(shè)一個HStoreFile是128M, 該列族包含5個HStoreFile在磁盤上. 剩下的在內(nèi)存中。

再次,是排好序了的,你要的記錄有可能在最前面,也有可能在最后面,假設(shè)在中間,我們只需遍歷2.5個HStoreFile共300M

最后,每個HStoreFile(HFile的封裝),是以鍵值對(key-value)方式存儲,只要遍歷一個個數(shù)據(jù)塊中的key的位置,并判斷符合條件可以了。 一般key是有限的長度,假設(shè)跟value是1:19(忽略HFile上其它塊),最終只需要15M就可獲取的對應(yīng)的記錄,按照磁盤的訪問100M/S,只需0.15秒。 加上塊緩存機制(LRU原則),會取得更高的效率。

感謝各位的閱讀,以上就是“LSM的存儲以及定位”的內(nèi)容了,經(jīng)過本文的學(xué)習(xí)后,相信大家對LSM的存儲以及定位這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是創(chuàng)新互聯(lián),小編將為大家推送更多相關(guān)知識點的文章,歡迎關(guān)注!

當前題目:LSM的存儲以及定位-創(chuàng)新互聯(lián)
網(wǎng)站網(wǎng)址:http://bm7419.com/article8/cdisop.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站營銷、品牌網(wǎng)站建設(shè)、軟件開發(fā)、營銷型網(wǎng)站建設(shè)、App開發(fā)、響應(yīng)式網(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)站