企業級別的數據庫應用大多使用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好,特別適合大量寫入的應用程序,但是就是成本比較高無論是多少塊磁盤你都是將損失一半的磁盤存儲。