資訊儲存在硬碟裡,把它拆開也看不見裡面有任何東西,只有些碟片。假設,你用顯微鏡把碟片放大,會看見碟片表面凹凸不平,凸起的地方被磁化,凹的地方是沒有被磁化;凸起的地方代表數字1(磁化為1),凹的地方代表數字0。因此硬碟可以以二進位制來儲存表示文字、等資訊。
機械盤:資料是儲存的扇區的,讀寫是依靠磁頭的擺動定址的。順序讀寫主要時間花費在了傳輸時間,隨機讀寫需要多次尋道和旋轉延遲。
固態盤:是由控制單元和固態儲存單元(dram或flash晶元)組成,儲存單元負責儲存資料,控制單元負責讀取、寫入資料。
由於固態硬碟沒有普通硬碟的機械結構,也不存在機械硬碟的尋道問題。
隨機讀寫是相對順序讀寫而言的,所謂隨機讀寫,是指可以在任何時候將訪問檔案的指標指向檔案內容的任何位置。一般情況下sas機械硬碟主要是看順序讀寫效能,ssd固態盤主要看隨機讀寫效能。
檔案的操作方式:
順序讀寫:檔案指標只能從頭移動到尾。
隨機讀寫:檔案指標可以隨意移動,根據需要。
假設存在乙個檔案尺寸為1024個位元組的檔案,如果按照順序訪問原則的話,我們只能採用類似於filestream.read()或者filereader.readline()的方式來一段一段,或者一行一行地讀取。
randomaccessfile類的核心價值在於randomaccessfile.seek()方法,通過這個方法,可以任意地指定當前訪問檔案的指標位置。
隨時呼叫randomaccessfile類的getfilepionter()方法,獲取檔案指標當前距離檔案起始位置的偏移量。
小結:在日常專案開發中在設計儲存時,一定要考慮順序和隨機,優化其效能達到最高。例如,當前大多數資料庫使用的都是傳統的機械磁碟,因此,整個系統設計要盡可能順序i/o,避免昂貴的尋道時間和旋轉延遲的開銷.
順序讀寫與隨機讀寫測試
1.1 順序讀取效能測試 圖1.1 機械硬碟順序讀取測試 以上為機械硬碟順序讀情況下的效能測試,測試顯示平均讀取速度能達到84.0mb s。1.2 順序寫入效能測試 圖1.2機械硬碟順序寫入測試以上為機械硬碟順序寫情況下的效能測試,測試顯示平均寫入速度能達到79.0mb s。1.3 隨機讀取效能測試...
關於磁碟隨機讀寫與順序讀寫
今天看kafka官網的文件,關於效能方面的討論時,又提到了磁碟隨機讀寫和順序讀寫效能方面的事,藉此機會整理一下。一 為什麼說是盡可能 二 順序讀寫和隨機讀寫效能差距有多大 我們知道,磁碟讀寫最慢的地方在於尋道,根據kafka官網寫的資料是,尋道時間大概10ms,尋道之後磁頭順序讀取資訊的速度是很快的...
為什麼硬碟隨機讀寫超慢,而順序讀寫超快
我們都知道硬碟順序讀寫很快,像hdd硬碟都能達到20萬每秒的iops,而隨機讀寫按照7200轉的hdd的iops在100左右,為什麼那?要搞清楚這個問題需要我們先來對磁碟有乙個基本的認識 一 磁碟的基本了解 基本的基本組成部分,磁碟主要有盤面 磁頭 懸臂組成如下圖 柱面 有上下大小相等的盤面的扇面組...