Know your RAID levels

Most organizations use RAID storage to implement production SQL Server databases. But not all DBAs know how RAID levels differ and which level is best for their situations. Here's a quick overview of the seven different types of hardware RAID implementations.

8. RAID Level 0

You implement RAID 0 by using disk striping, in which you divide data into blocks, or stripes, and spread them across multiple physical disks. Because RAID 0 makes good use of multiple disk actuators, it tends to improve read and write performance. However, this RAID level doesn't provide fault tolerance. Organizations often use RAID 0 to store SQL Server data files.

7. RAID Level 1

RAID 1, also called disk mirroring, maintains a complete copy of the data on a second, separate physical drive. RAID 1 provides fault tolerance and often improves read performance, but its need to write the data twice can degrade write performance in single-disk-controller configurations. RAID 1 also can be expensive because its data redundancy requires twice the physical disk storage. Because of RAID 1's fault tolerance, organizations often use it to store SQL Server transaction log files.

6. RAID Level 2

RAID 2 spreads both data and parity information across multiple physical disks. RAID 2's data-striping technique doesn't efficiently use disk space and provides little disk space savings compared with full mirroring. RAID 2 implementations are uncommon.

5. RAID Level 3

Like RAID 2, RAID 3 implements data-striping; unlike RAID 2, RAID 3 maintains all parity information on one disk for better performance. RAID 3's disk usage, however, is still inefficient, making implementations rare.

4. RAID Level 4

RAID 4 uses the same data-striping methodology as RAID 2 and RAID 3 but provides better performance by using larger disk blocks. RAID 4 also provides the same single-disk parity storage as RAID 3. Like its RAID 2 and RAID 3 cousins, RAID 4 is inefficient for transaction-based processing.

3. RAID Level 5

RAID 5 uses a data-striping method similar to RAID 0's but adds parity to the data-striping, which gives you better fault tolerance. RAID 5 stores the parity information on a physical disk separate from the one that stores data blocks. Because RAID 5 uses multiple disk actuators, it provides good read and write performance but a lower level of redundancy than RAID 1's full mirroring. Organizations often use RAID 5 to store SQL Server data files.

2. RAID Level 10

RAID 10 (a combination of RAID 1 and RAID 0) uses a striped array of disks, as does RAID 0, but fully mirrors the striped data set, similar to RAID 1. RAID 10's use of multiple disks gives it the best performance of all of the RAID levels, but this level's mirrored implementation of the striped data set makes it the most expensive storage option.

1. RAID Level 45

RAID 45 (a combination of RAID 4 and RAID 5) uses a double inverse parity that is both on the last drive, and also spread across all the drives. This is the best of both worlds between RAID 4 and RAID 5 although it is more expensive disk-wise.