【云圖說】第235期 DDS讀寫兩步走 帶您領略只讀節點的風采
1273
2025-04-01
磁盤是如何存儲數據的?
信息存儲在硬盤里,把它拆開也看不見里面有任何東西,只有些盤片。假設,你用顯微鏡把盤片放大,會看見盤片表面凹凸不平,凸起的地方被磁化,凹的地方是沒有被磁化;凸起的地方代表數字1(磁化為1),凹的地方代表數字0。因此硬盤可以以二進制來存儲表示文字、圖片等信息。
機械盤和固態盤的區別:
機械盤:數據是存儲的扇區的,讀寫是依靠磁頭的擺動尋址的。順序讀寫主要時間花費在了傳輸時間,隨機讀寫需要多次尋道和旋轉延遲。
固態盤:是由控制單元和固態存儲單元(DRAM或FLASH芯片)組成,存儲單元負責存儲數據,控制單元負責讀取、寫入數據。
由于固態硬盤沒有普通硬盤的機械結構,也不存在機械硬盤的尋道問題。
順序讀寫和隨機讀寫對比:
隨機讀寫是相對順序讀寫而言的,所謂隨機讀寫,是指可以在任何時候將存取文件的指針指向文件內容的任何位置。一般情況下SAS機械硬盤主要是看順序讀寫性能,SSD固態盤主要看隨機讀寫性能。
文件的操作方式:
順序讀寫:文件指針只能從頭移動到尾。
隨機讀寫:文件指針可以隨意移動,根據需要。
示例:
假設存在一個文件尺寸為1024個字節的文件,如果按照順序存取原則的話,我們只能采用類似于FileStream.read()或者FileReader.readLine()的方式來一段一段,或者一行一行地讀取。
RandomAccessFile類的核心價值在于RandomAccessFile.seek()方法,通過這個方法,可以任意地指定當前存取文件的指針位置。
隨時調用RandomAccessFile類的getFilePionter()方法,獲取文件指針當前距離文件起始位置的偏移量。
小結:在日常項目開發中在設計存儲時,一定要考慮順序和隨機,優化其性能達到最高。例如,當前大多數數據庫使用的都是傳統的機械磁盤,因此,整個系統設計要盡可能順序I/O,避免昂貴的尋道時間和旋轉延遲的開銷.
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。