內容提供:
旗標出版公司 |
|
旗
標 電 腦 文 摘
第223期 2004.6.10
|
PCDIY 硬碟技術與管理實務
書號:F968
定價:480 元
施威銘研究室 著
我要線上購買
|
|
本期文摘:磁碟陣列 RAID 的種類與架構
本文摘錄自旗標 F968「PCDIY 硬碟技術與管理實務」一書
△RAID 的優點
話說回來, 付出總是希望有收穫。RAID 組合了多部磁碟機, 且犧牲了部分儲存空間 (最多達 50%) 來儲存修復用的資料, 它自然要能提供比單一磁碟更好的服務, 才有存在的價值:
- 讀寫效率高:多部磁碟機的磁頭可同時讀、寫資料, 整體效能、存取速度均可獲得改善。
- 成本低:幾部平價的硬碟組成大容量的陣列磁碟機, 比單一相同容量、功能硬碟的製作成本低。
- 資料可靠:RAID 磁碟機多有資料修復功能, 資料遺失、損毀的可能性更低, 遠比單一硬碟更可靠。
- 具有容錯的能力:所謂『容錯 (Fault-Tolerant)』是指容許機器發生錯誤時, 系統不會因此而停擺、中斷, 可以繼續運作的能力。一般系統的硬碟掛點之後 , 會因無法正常擷取資料而停擺﹔但 RAID 系統在某種程度內的故障, 仍可依賴其餘的正常硬碟提供資料, 使系統繼續運作。
- 可自動修復資料:陣列磁碟機中的某顆硬碟出現問題時, 該故障硬碟的資料可在更換新硬碟之後, 根據其餘硬碟中的資料 (含之前儲存的驗證、修補資料) 自動重建回來。
△RAID 的種類
磁碟陣列的分類很簡單, 純粹以編號來表示不同的種類, 目前有 RAID 0, 1, 0+1, 2, 3, 4, 5 等 7 種﹔編號大小的差異只是架構 RAID 的方式與提供功能的不同, 可不表示等級上有所差別哦!等一下我們便依 RAID 編號的順序, 介紹各種磁碟陣列的原理與優缺點﹔您可以視系統支援的程度或配備的不同選擇合適的架構。
RAID 0 ( Stripping)
RAID 0 是最簡單的磁碟陣列架構, 它的功能相當陽春:寫入時, 將資料分割成數個小區塊, 再同時分送到不同的磁碟機內儲存﹔讀取資料需同時從不同的磁碟機內取出區塊資料重新組合。
由於 RAID 0 將資料分割後, 分別儲存在不同硬碟, 因此實際讀寫的速度比單顆硬碟的儲存方式快, 效率也比較高﹔不過相信不難看出來, 萬一陣列中的某顆硬碟故障時, 將因部分資料不完整而無法正常讀寫, 造成系統停擺, 甚至毀掉所有檔案。
硬碟需求 |
最少 2 顆。 |
資料修復 |
無。 |
優點 |
讀寫速度快, 效率高。 |
缺點 |
只要一顆硬碟故障, 資料就不完整而無法挽回。 |
RAID 1 (Mirroring)
RAID 1 又稱為鏡像備份(Mirroring), 意思就是可以將資料如鏡子裡面的成像一般, 在兩顆硬碟上各保持一份完全相同的備份, 使鏡裡鏡外的資料完全一樣。寫入時, 相同的資料會同時寫到陣列磁碟的每顆硬碟中﹔讀取時, 僅從其中一顆讀取即可。
這種系統有個很明顯的缺點:二顆硬碟可儲存的資料量僅相當於一顆硬碟的空間, 使用率最多僅能達到總容量的 50 %。看起來似乎有點浪費, 不過 RAID 1 是最容易架構的容錯系統, 平常操作時, 即使磁碟陣列中的某顆硬碟受損, 另一顆備份硬碟仍可正常運作;而且在更換受損的磁碟後, RAID 系統會自動從備份硬碟中將資料完整地拷貝回新磁碟機, 再次回復鏡像備份的容錯狀態。
硬碟需求 |
最少 2 顆。 |
資料修復 |
有, 資料和系統都完全備份。 |
優點 |
單顆硬碟發生故障時, 系統仍可正常運作。 |
缺點 |
硬碟可儲存的資料量只有總容量的 50 %。 |
RAID 2
RAID 2 可以說是 RAID 0 的改良版, 兩者的做法相當類似﹔不過這次不再以資料區塊為分割單位, 而是以位元為單位。且為了資料復原的問題, RAID 2 以漢明碼 (Hamming Code) 方式先對資料加以編碼後, 才分割為獨立位元, 並將資料寫入磁碟陣列中。
漢明碼有核對、校正資料的功能, 當資料中的某 1 個位元發生錯誤時, 可用漢明碼的特性找出錯誤位元並校正回來。不過若是 2 個位元一起發生錯誤時, 漢明碼便只能檢查出有問題, 無法進行更正。
以 RAID 2 的做法, 將每一個位元分散在不同磁碟機上, 萬一有一部磁碟機故障時 , 便可利用正常磁碟機上的資料位元, 依漢明碼的特性將故障磁碟上的所有位元都還原回來。
另外, 資料經過漢明碼系統的編碼程序後, 由於加入錯誤修正碼 (ECC, Error Correction Code, 指 Hamming Code 中資料以外的碼) 之故, 會比原始資料大, 因此硬碟的可用空間會比磁碟機總容量少!
硬碟需求 |
視演算法而定。 |
資料修復 |
有, 可應付 1 個位元的資料損失。 |
優點 |
存取效率佳, 具資料修復能力。 |
缺點 |
需犧牲部分硬碟空間儲存 ECC 碼;
漢明碼的處理程序較複雜, 降低整體效率。 |
RAID 3
RAID 3 採用與 RAID 2 相同的位元分割來切割資料, 並將位元資料分存到不同的磁碟機中﹔不過它放棄複雜的漢明碼,改以同位元檢查
(Parity check) 來作核對與修復的工作, 因此除了資料碟之外, 需要多一顆硬碟專門存放檢查位元。
RAID 3 修復資料的能力與 RAID 2 相同, 在只有一顆硬碟故障的狀況下, 都可以藉其餘正常硬碟上的資料, 經運算後重建故障硬碟的資料;不過同位元檢查的效率比漢明碼要快多了。
不過 RAID 3 也不是沒有缺點, 由於資料內的位元會分散到不同磁碟機上, 因此即使讀入一小段資料都可能動到所有的磁碟機;而此時每部磁碟機須讀取完整單位的全部資料, 容易造成讀取資源的浪費。因此 RAID 3 對經常取用大型檔案 (影像、多媒體) 的系統相當實用, 但若對小量資料讀寫的場合而言, 就有殺雞用牛刀的味道了。
硬碟需求 |
最少 3 顆。 |
資料修復 |
有, 每次以 1 顆硬碟為限。 |
優點 |
存取效率佳, 具資料修復能力。 |
缺點 |
不適合少量資料 I/0 使用,且同位元
檢查硬碟容易成為存取效能的瓶頸。 |
RAID 4
RAID 4 也是使用一個磁碟做同位檢查, 與 RAID 3 的不同處在於資料分割方式。它採用磁區 (區塊) 分割的方法, 也就是說, 事先將資料以磁區為單位分割好, 再將分割後的資料分散寫入各個資料磁碟, 同位檢查資料則寫入專屬硬碟中。
由於各資料磁碟是同時運作, 可同時讀入數個磁區的資料, 因此傳輸效率可大幅提升;而在讀寫小量資料時, 由於區塊數量少, 且集中於少數幾部磁碟機, 所以不會像 RAID 3 一樣勞師動眾, 必須牽動一堆磁碟。
除此之外, RAID 4 還有一個好處, 就是擁有多重資料的讀取能力; 舉例來說, 假設有兩筆需求同時提出, 且未使用到相同硬碟時, RAID 4 就可以同時處理這兩筆需求的讀取動作 , 提高整體系統的工作效能。寫入資料時, 因為每份資料都需執行同位元檢查, 而且必須把檢查碼存放在同一顆硬碟, 因此一次只能接受一筆寫入的要求。
不過反向思考一下, 每次存取時都必須從儲存檢查位元的硬碟中取出對應的同位資料核對, 當存取動作頻繁的時候, 該顆專屬硬碟不僅耗損比較快, 且可能成為整體效率上的瓶頸所在。
硬碟需求 |
最少 3 顆。 |
資料修復 |
有, 每次以 1 顆硬碟為限。 |
優點 |
存取效率佳, 具多重讀取能力。 |
缺點 |
資料存取頻繁時, 同位檢查硬碟容易成為效率瓶頸。 |
RAID 5
RAID 5 改善了 RAID 3、4 中負責儲存同位資料硬碟使用過於頻繁的缺點。它將同位元檢查資料與原始資料重新組合後, 以位元分割方式分別儲存在不同硬碟中, 因此每個硬碟都存放有同位元檢查碼, 以降低存取過度集中的問題。
但是 RAID 5 的缺點則是回復資料費時較久。由於同位元檢查碼分散在各顆硬碟, 因此當在更新硬碟修復資料時, 必須搜集所有的硬碟資料以重建損毀的部分, 所以花費的時間會較前述幾種 RAID 都要久。
硬碟需求 |
最少 3 顆。 |
資料修復 |
有, 每次以 1 顆硬碟為限。 |
優點 |
存取效率佳, 具多重存取能力﹔硬碟存取次數平均, 不易產生瓶頸。 |
缺點 |
任一顆硬碟損毀、更新後, 需花費較長時間來回復資料。 |
--- 本篇完
|
| |
- 這本書還有以下內容哦:
-
硬碟技術篇 ─ 硬碟結構徹底解析
-
檔案系統篇 ─ 讀取不同檔案系統下的資料
-
SCSI 篇 ─ 架設 SCSI RAID 5
-
NAS 篇 ─ MIS 的 NAS 管理技巧
-
NTFS 的硬碟管理實務
欲知詳情請參考: F968 PCDIY 硬碟技術與管理實務
我要買這本書
|
|
| |
........................................︽
........................................
|
| |
|
Access 2003 VBA 專案開發實務
書號:F902
定價:720 元
施威銘研究室 著
我要線上購買
| |
本期文摘:最佳化 Access 資料庫執行效能
本文摘錄自旗標 F902「Access 2003 VBA 專案開發實務」一書
甚麼叫效能? 簡單來說就是速度。一個好的資料庫不僅要便於操作, 更重要的是反應速度要夠快, 如果查詢幾筆記錄就要等上好幾秒, 那恐怕任誰也無法忍受。因此如何增加 Access 資料庫的效能, 就非常重要了。
影響資料庫效能的原因
不管是在單機上操作, 或是應用在網路中, 影響資料庫效能的原因有很多, 筆者在此提出幾項以及解決的方法供您參考:
◇電腦硬體的影響:
電腦本身執行程式的能力對資料庫的影響相當大, 這包括了 CPU 速度、記憶體的數量以及硬碟容量及儲存資料的連續性等。最好的解決方式就是將 CPU 升級、增加記憶體與硬碟的容量, 而且平時每隔一段時間要重整 (Defragment) 硬碟。
◇正規化分析資料表:
未經過謹慎分析的資料表, 不僅資料會浪費硬碟空間, 還會降低資料庫的效率。因此在建立關聯式資料表時, 要做好分析的工作, 以提升資料庫的效率, 這可利用資料表分析精靈來幫忙:
◇不要用太花俏的表單:
在表單設計中為了美觀的因素, 我們可能會加入許多的按鈕圖片, 或背景圖片, 這些都會佔用記憶體。因此在設計表單時, 最好能夠著重在功能上, 而不要增加太多無謂的圖片或控制項。
◇覺得速度變慢, 就重開資料庫:
這可不是開玩笑喔! 當資料庫使用一段時間, 特別是載入許多 VBA 程式之後, 會因為記憶體消耗量變大, 使得反應速度變慢。此時可考慮關閉此資料庫, 讓系統將使用的記憶體釋放, 然後再重新開啟資料庫。
◇資料量太多或太久沒整理:
若 Access 資料庫的資料量太龐大 (例如數十萬、上百萬筆資料量), 對於速度會有相當大的影響, 這時 Access 可能就不敷使用。您必須考慮採用其它較大型的資料庫系統, 例如: SQL Server、 Oracle、Sybase 等。當資料庫使用一段時間之後, 隨著資料的增減, 會在資料庫中產生很多的垃圾空間而佔據硬碟。這時您就需要將資料庫好好整理一番 。
◇使用前先將 VBA 程式碼編譯:
當在資料庫中增加 VBA 模組或類別模組程式時, 若沒有事先將程式碼編譯, 則會在載入程式碼之後才編譯, 這也會拖慢速度。
◇單機操作使用獨佔式開啟:
資料庫可以用獨佔或分享的方式開啟。在分享模式下, 資料庫可讓其他使用者共同開啟, 因此會花費一些記憶體提供分享的服務。若是在單機作業的情況下, 最好是選擇獨佔式開啟。
◇網路共用的資料庫:
應用在網路上的資料庫, 當有多人同時存取資料, 或是傳送大量資料時, 很容易遇到網路擁塞的問題。所以我們最好能夠使用資料庫伺服器 (例如 SQL Server) 專門管理資料庫的存取, 或者考慮使用分散式資料庫。當然資料庫的程式設計者在存取伺服器資料時, 也應該特別注意, 不要做許多無謂的存取動作, 以減輕網路傳輸的負擔。
◇去蕪存菁壓縮資料庫
平常我們在資料庫中刪除記錄的同時, 那些被刪除的空間實際上並沒有被清除乾淨, 因此會造成資料庫中一些沒用的空間浪費, 而使得資料庫愈來愈虛胖。因為 Access 本身並不會主動排除垃圾資料, 所以這就要靠我們自己動手了。
====NOTE========================================
若不相信, 您可以試驗將一個資料表的記錄刪除一些, 然後再檢查檔案的大小, 就會知道筆者所言不虛了。
=================================================
--- 本篇完
|
| |
|
| |
........................................︽ ........................................ |
版權所有人:旗標出版股份有限公司 本電子報內容未經授權請勿轉載
|
|