b樹為什麼不像lsm一樣改隨機io為順序io的方式提公升效率?

時間 2021-05-30 19:56:20

1樓:果凍蝦仁

B樹對記憶體的占用多當然是一方面。

LSM順序寫入,同乙個key多次寫入資料會有多份。

這個對事務實現是不友好的。而且也更佔儲存空間。而且LSM的讀效率並不高…當然也有很多輔助的優化手段。那就是另外的話題了。

另外MySQL社群貌似其實也有基於rocksdb做的分支。所以MySQL的儲存引擎也是在不停發展和進化的,LSM中的一些好的思路會被吸收,但是那樣就不是B樹了!至少不滿足B樹的定義了。

2樓:

如果按照教科書的觀點來看,b樹就是解決隨機io的策略,相對地lsm在順序寫的領域(例如追加日誌)更有市場,兩者側重點不一樣

3樓:靈劍

B樹的結構上,乙個節點就是帶有大量的分支的,所以單個節點的大小本身就不小,這其中已經考慮到了磁碟I/O效能的問題,即使一次只讀取或者寫入乙個節點一般也有不低的效率了。B樹的應用場景中很重要的一類是資料庫,資料庫要求事務性,一旦某個資料已經成功寫入,就必須是持久化的,即使寫完立即斷電也要能夠重新讀取出來,因此記錄在記憶體中然後定期刷到磁碟的方案通常是不可接受的。總結來說,B樹的設計本身就是適應直讀、直寫需要的,因此不使用快取。

為什麼NBA不像足球一樣有傳統豪門?

Wilson Tang NBA採用了各種方法來平衡各球隊的實力,讓比賽變得更膠著更激烈。1 工資帽制度。這使得各個球隊無法隨意給球員大合同,即使老闆很有錢。而且一旦觸發奢侈稅,將需要繳納雙倍罰款。同時,即使是超級球星,也有頂薪限制。2 選秀制度。每年沒進季後賽的球隊抽籤決定選秀前三名,其他球隊按上賽...

為什麼英雄聯盟不像觀戰一樣顯示經濟差?

冰霜 LOL一點細節都能決定雙方在某個時候是否要打團,何況經濟差這麼明顯的資料。還有就是,雖然不顯示經濟差,但是各個選手,最起碼各個戰隊的指揮,心裡都是有數的。 淅川 以前打王者的時候,習慣了看經濟來看場上局勢後來打LOL,才明白等級也很重要,算技能CD也很重要,判斷敵方英雄強勢期也很重要 對拼之前...

喬丹為什麼不像詹姆斯一樣來西部證明自己?

帶槍的大衛爸爸 題主這個問題問的,我乙個詹姆斯球迷我都看不過去了,就是無腦帶節奏,還 順便問一下,詹黑懂不懂球 你就是詹黑吧?有比較的必要嗎,更何況有的比嗎,詹姆斯去西部是為了證明自己?你怎麼不問問 喬丹為什麼不像科比一樣單場拿81分 喬丹為什麼不像庫里一樣多投三分 喬丹為什麼不像奧尼爾一樣扣碎籃板...