【大數(shù)據(jù)嗶嗶集20210112】Sorry,Hbase的LSM Tree真的可以為所欲為!
點擊上方藍色字體,選擇“設為星標”
回復”資源“獲取更多驚喜


首先,我們從B+樹講起

B+樹的磁盤讀寫代價更低:B+樹的內(nèi)部節(jié)點并沒有指向關鍵字具體信息的指針,因此其內(nèi)部節(jié)點相對B樹更小,如果把所有同一內(nèi)部節(jié)點的關鍵字存放在同一盤塊中,那么盤塊所能容納的關鍵字數(shù)量也越多,一次性讀入內(nèi)存的需要查找的關鍵字也就越多,相對IO讀寫次數(shù)就降低了。
B+樹的查詢效率更加穩(wěn)定:由于非終結點并不是最終指向文件內(nèi)容的結點,而只是葉子結點中關鍵字的索引。所以任何關鍵字的查找必須走一條從根結點到葉子結點的路。所有關鍵字查詢的路徑長度相同,導致每一個數(shù)據(jù)的查詢效率相當。
由于B+樹的數(shù)據(jù)都存儲在葉子結點中,分支結點均為索引,方便掃庫,只需要掃一遍葉子結點即可,但是B樹因為其分支結點同樣存儲著數(shù)據(jù),我們要找到具體的數(shù)據(jù),需要進行一次中序遍歷按序來掃,所以B+樹更加適合在區(qū)間查詢的情況,所以通常B+樹用于數(shù)據(jù)庫索引。
那么,B+樹有什么缺點呢?
LSM Tree






評論
圖片
表情
