無論主存有多大,它總是小的。人們總是想儲存比記憶體容量更多的資訊,主要原因是隨著技術的進步,人們開始考慮像科幻**一樣整體地儲存過去的資料。比如,假如美國**的預算規則強制**機構自行創收,設想一下國會圖書館決定將藏書全部電子化然後**的場景(「全人類的知識**299.95美元」)。粗略的認為有5000萬本書,每本有1mb的文字和1mb的壓縮,需要10^14位元組或100兆兆位元組。儲存全部50000部電影大概差不多。這種數量的資訊不會存在主存中,至少十年內不會。
儲存大量資料的傳統解決方案是儲存分級,如圖2-18。頂部是cpu暫存器,可以連線全速的cpu。接下來是快取記憶體,現在從32kb到幾mb不等。再往下是主存,當前規模從入門級系統的1g到高階系統的幾百g。接著是電晶體盤和磁碟,目前穩定儲存的主力。最後,我們用磁帶和光碟做檔案儲存。
從上往下,三個關鍵引數在增長,首先,訪問時間變長了。cpu暫存器的訪問時間可以是納秒級的甚至更快。訪問快取記憶體花費的時間是cpu暫存器幾倍。主存訪問時間通常是10nm。現在有乙個大豁口,電晶體盤訪問時間要慢十倍,磁碟要慢100倍。如果磁帶和光碟必須被拿取然後插入驅動,那它們的訪問時間就是秒級的。
然後,從上往下,儲存能力增加了。cpu暫存器能處理128位元組資料,快取是10mb,磁碟是tb,磁帶和光碟通常線下儲存,所以它們的儲存能力取決於使用者的預算。
第三,從上往下每花費一塊錢所獲取的位元數增加了。雖然實際**波動比較大,但主存用元/mb,電晶體盤用元/gb,磁碟和磁帶用分/gb來衡量。
我們已經討論過暫存器,快取和主存。下面的幾節我們討論磁碟和電晶體盤;然後我們研究光碟。我們不研究磁帶,因為現在不怎麼用到了,而且磁帶也沒什麼好說的。
譯 第44節 EF6 儲存過程對映
ef6 code first提供了建立和使用儲存過程以新增,更新和刪除操作的功能。這在以前的entity framework版本中是沒有的。student實體 class student public int student id public string studentname 以下示例使用fl...
譯 再談如何安全地在 Android 中儲存令牌
本文講的是 譯 再談如何安全地在 android 中儲存令牌,譯文出自 掘金翻譯計畫 譯者 lovexiaov 校對者 luoqiuyu hackerkevin private final static string api key 67a5af7f89ah3katf7m20fdj202 const...
分級副本儲存 一種更具效益成本的資料容錯策略
眾所周知,在儲存系統中,為了保障資料的高可用性,我們會通過儲存多個副本來防止因為機器物理故障導致資料丟失的現象。在乙個集群 資料中心 內,我們會設定多個副本。甚至我們做的時候做的更完善一些,還做到異地資料的同步,這可能是完全集群的資料同步了。當然企業將資料做到異地多活本身初衷沒用問題,但是成本開銷一...