RAID stands for redundant array of inexpensive disks. Fault-tolerant disk systems are categorized in six RAID levels, 0 through 5. Each level offers various mixes of performance, reliability, and cost. Each level uses a different algorithm to implement fault tolerance. Following is a brief description of each RAID level.
RAID level 0 is similar to level 5, but level 5 also provides fault tolerance.
Striping with parity (RAID level 5) has better performance than mirroring (RAID level 1). However, when a stripe member is missingūfor example, when a disk failsūread performance degrades.
RAID levels 0, 1, and 5 are the RAID implementations typically used with SQL Server.
Using RAID technology to spread a database over multiple disks can yield performance improvements. A hardware disk array typically delivers the best I/O performance, because I/O functions like striping and mirroring are efficiently handled in firmware. Compare this to operating system-based RAID, where processor cycles are consumed (reducing the cycles available to SQL Server). Operating-system software-based RAID provides a cost advantage, however. Where cost is a consideration and redundancy and good performance are required, Windows NT-based stripe sets with parity are a good solution.
Data striping (RAID level 0) is the highest-performance RAID configuration, but if one disk fails, all the data on the stripe set are inaccessible. A typical technique for relational database management systems is to configure the database on a RAID level 0 drive and then place the transaction log on a device that is mirrored. This technique enables you to get the best disk I/O performance for the database while maintaining data recoverability (assuming you perform regular database backups) through a mirrored transaction log.
If data must be quickly recoverable, you should consider mirroring the transaction log and placing the database on a RAID 5 disk device.
Because it provides better performance than any other RAID implementation, hardware-based RAID level 0 (striping) is a good solution when you do not require redundancy and fault tolerance. The following table provides a summary of advantages and disadvantages of hardware- and software-based striping.
Advantages | Disadvantages | |
---|---|---|
Windows NT-based striping | Low cost | Uses system processing resources. |
Hardware-based striping | Does not compete for processor cycles. Fastest performance of all RAID implementations. |
Cost |
The next table provides a summary of the advantages and disadvantages of the RAID solutions that provide redundancy and fault tolerance and are typically used with SQL Server.
Advantages | Disadvantages | |
---|---|---|
Hardware-based RAID level 3 or 5 | Has excellent performance. Does not compete for processor cycles. |
Cost |
Hardware-based RAID level 1 | Has best redundancy. Does not compete for processor cycles. |
Cost |
Windows NT-based RAID level 1 | Has good redundancy. Low cost. |
Uses system processing resources. |
Windows NT-based RAID level 5 | Has excellent read performance. Low cost. |
Uses system processing resources. |
For more detailed information about RAID, see the documentation for Windows NT Server and the Windows NT Resource Kit.