The time to rebuild the data of a failed disk can be significant, and it varies
with the RAID level that is used. Rebuilding is easiest for RAID level 1, since data
can be copied from another disk; for the other levels, we need to access all the
other disks in the array to rebuild data of a failed disk. The rebuild performance
of a RAID system may be an important factor if continuous availability of data
is required, as it is in high-performance database systems. Furthermore, since
rebuild time can form a significant part of the repair time, rebuild performance
also influences the mean time to data loss.
RAID level 0 is used in high-performance applications where data safety is
not critical. Since RAID levels 2 and 4 are subsumed by RAID levels 3 and 5, the
choice of RAID levels is restricted to the remaining levels. Bit striping (level 3) is
inferior to block striping (level 5), since block striping gives as good data-transfer
rates for large transfers, while using fewer disks for small transfers. For small
transfers, the disk access time dominates anyway, so the benefit of parallel reads
diminishes. In fact, level 3 may perform worse than level 5 for a small transfer,
since the transfer completes only when corresponding sectors on all disks have
been fetched; the average latency for the disk array thus becomes very close to
the worst-case latency for a single disk, negating the benefits of higher transfer
rates. Level 6 is not supported currently by many RAID implementations, but it
offers better reliability than level 5 and can be used in applications where data
safety is very important.
The choice between RAID level 1 and level 5 is harder to make. RAID level 1 is
popular for applications such as storage of log files in a database system, since it
offers the best write performance. RAID level 5 has a lower storage overhead than
level 1, but has a higher time overhead for writes. For applications where data
are read frequently, and written rarely, level 5 is the preferred choice.
Disk-storage capacities have been growing at a rate of over 50 percent per year
for many years, and the cost per byte has been falling at the same rate. As a result,
for many existing database applications with moderate storage requirements, the
monetary cost of the extra disk storage needed formirroring has become relatively
small (the extra monetary cost, however, remains a significant issue for storage