About RAID

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.

Level 0
RAID level 0 is commonly referred to as disk striping and uses a disk file system called a stripe set. Data is divided into blocks and is spread in a fixed order among all the disks in the array. RAID level 0 improves read and write performance by spreading operations across multiple disks, so that operations can be performed independently.

RAID level 0 is similar to level 5, but level 5 also provides fault tolerance.

Level 1
RAID level 1 is commonly referred to as disk mirroring and uses a disk file system called a mirror set. Disk mirroring provides a redundant, identical copy of a selected disk. All data written to the primary disk is written to the mirror disk. RAID level 1 provides fault tolerance. It also generally improves read performance (but may degrade write performance).
Level 2
RAID level 2 adds redundancy by using error correcting code, while employing a disk-striping strategy that breaks a file into bytes and spreads it across multiple disks. The error-correction method requires several disks. This strategy offers only a marginal improvement in disk utilization and read-write performance over mirroring (RAID level 1). RAID level 2 is not as efficient as other RAID levels and is not generally used.
Level 3
RAID level 3 uses the same striping method as level 2, but the level 3 error-correction method requires only one disk for parity data. The disk space utilization varies with the number of data disks and may be as high as 86 percent. RAID level 3 provides some read and write performance improvement.
Level 4
RAID level 4 employs striped data in much larger blocks or segments than levels 2 and 3. Like that of level 3, the level of error-correction method requires only one disk for parity data. It keeps user data separate from error-correction data. RAID level 4 is not as efficient as other RAID levels and is not generally used.
Level 5
RAID level 5 is commonly referred to as striping with parity. This is the most popular strategy for new designs. It is similar to level 4 in that it stripes the data in large blocks across all the disks in the array. It differs in that it writes the parity across all the disks. The data redundancy is provided by the parity information. The data and parity information are arranged on the disk array so that the two are always on different disks.

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.