企業級的資料庫應用大多使用RAID磁碟陣列,來提高磁碟的存取效能與資料相容性容錯,RAID大概可以分為幾個等級,SQL Server 2005常用的有幾個等級0,1,5,10 下面我來簡單說說這個幾個層次的區別及其應用。
RAID 0 簡稱磁碟條帶化,它可以提供最好的讀寫效能,如果你把兩塊磁碟做成了RAID0,那麼在寫入資料的時候就可以是同時對A磁碟B磁碟同時寫入,這樣肯定是能提高讀寫效能的,但是這樣也帶來了一個問題就是,如果其中的一部分資料遺失了,你的全部資料都不會找回來的,因為RAID0沒有提供冗餘恢復資料的策略。所以RAID0可以用在唯讀的資料庫資料表,或是經過複製過來的資料庫上,如果你對資料遺失不敏感的話也可以使用,總之這個level下是高效能無冗餘。
RAID 1 磁碟鏡像它對讀取沒有什麼影響,如果有兩塊磁碟它只對寫有影響,因為它採用了一塊磁碟做冗餘備份的方法,這樣如果你的兩塊磁碟是100G,那麼你只能使用50G ,這種方法會影響磁碟的空間使用,降低了I/O 寫的效能。
RAID 5 與RAID1 不同之處就是多了奇偶校驗,所有的奇偶校驗的資訊會遍布各個磁碟,效能上要比RAID1高些,但是一旦發生磁碟I/O失敗,就會造成效能急劇下降,同時這種方法也在RAID0 與RAID1間折了中,是比較通用的做法。
RAID 10 就是RAID0 與RAID1的組合,它提供了高性能,高可用性,性能上要比RAID5好,特別適合大量寫入的應用程序,但是就是成本比較高無論是多少塊磁盤你都是將損失一半的磁碟存儲。