磁碟的5分鐘原則

2021-05-02 16:21:02 字數 820 閱讀 1417

去年在對 ssd 做調查的時候就關注過這個五分鐘法則

,今天又發現了這篇文章

的修訂版(為了紀念 jim gray),這個話題倒是可以簡單介紹一下,對架構師衡量 i/o 能力、cache 評估和做硬體選型還是會有一些幫助的。

在 1987 年,jim gray

與 gianfranco putzolu 發表了這個"五分鐘法則"的觀點,簡而言之,如果一條記錄頻繁被訪問,就應該放到記憶體裡,否則的話就應該待在硬碟上按需要再訪問。這個臨界點就是五分鐘。看上去像一條經驗性的法則,實際上五分鐘的評估標準是根據投入成本判斷的,根據當時的硬體發展水準,在記憶體中保持 1kb 的資料成本相當於硬碟中儲存同樣大小資料 400 秒的開銷(接近五分鐘)。這個法則在 1997 年左右的時候進行過一次回顧,證實了五分鐘法則依然有效(硬碟、記憶體實際上沒有質的飛躍),而這次的回顧則是針對 ssd 這個"新的舊硬體"可能帶來的影響。

隨著快閃儲存器時代的來臨,五分鐘法則一分為二:是把 ssd 當成較慢的記憶體(extended buffer pool )使用還是當成較快的硬碟(extended disk)使用。小記憶體頁在記憶體和快閃儲存器之間的移動對比大記憶體頁在快閃儲存器和磁碟之間的移動。在這個法則首次提出的 20 年之後,在快閃儲存器時代,5 分鐘法則依然有效,只不過適合更大的記憶體頁(適合 64kb 的頁,這個頁大小的變化恰恰體現了計算機硬體工藝的發展,以及頻寬、延時)。

根據資料結構和資料特點的不同,對於檔案系統來說, 作業系統傾向於將 ssd 當作瞬時記憶體(cache)來使用。而對於資料庫,傾向於將 ssd 當作一致性儲存來用。

這是一篇非常重要的文章(所以,建議讀一下原文),其中對於資料庫一節的描述尤其有趣(針對 db 也有個五分鐘)。限於篇幅,就不羅嗦了。

5分鐘弄懂Docker

儘管之前久聞docker的大名了,但是天資愚鈍,對其到底是個啥東西一直摸不清,最近花了一段時間整理了一下,算是整理出一點頭緒來。官網的介紹是這樣的 那麼應用容器長什麼樣子呢,乙個做好的應用容器長得就好像乙個裝好了一組特定應用的虛擬機器一樣。比如我現在想用mysql那我就找個裝好mysql的容器,執行...

5分鐘搞定Schema

事先宣告 搞定不是精通,只是能夠運用!其實schema很簡單,之前寫過dtd,比dtd學習成本還低!最近做的專案基於檔案系統的,一堆的xml檔案,所以想寫個驗證,也方便ide操作,既然推薦schema,那就用schema d 不廢話,看xml檔案。ivan hihello 這個應該算是個比較典型的x...

5分鐘吃透React Native Flexbox

今天我們來聊聊flexbox,它是前端的乙個布局方式。在react native中是主流布局方式。如果你剛剛入門react native,或者沒有多少前端的技術經驗,亦或者對其半知半解,那麼這篇文章將很好的幫助你參透flexbox的整個全貌。通過這篇文章你將快速吃透整個flexbox,因為對於fle...