Databases Reference
In-Depth Information
the industry's leading authorities on systems architecture, in part for his work on RAID,
as well as his work on memory architecture and multiprocessor systems.
The original concept for RAID was to replace expensive high-performance devices
with arrays of lower cost disks, and achieve similar performance by use of parallelism.
However, since parallelism can be applied to both cheap and expensive disks, 10 expen-
sive high-performance disks in parallel will still out perform 10 cheap ones. So the
“inexpensive” part of RAID is somewhat historical, and RAID is widely used for disk
arrays of all speeds, including high adoption for high-performance enterprise arrays.
The standard RAID levels now include RAID 0, RAID 1, RAID 2, RAID 3, RAID
4, RAID 5, RAID 6, RAID 0+1, RAID 10, RAID 10+0, and RAID 5+0. We will
describe these briefly and discuss a few other proprietary RAID levels while indicating
which are generally adopted for database use.
13.7.2 RAID 0
RAID 0 refers to simple striping across a set of disks. The collection of disks is known as
the “stripe set,” and data is simply written to the disks in a round-robin fashion. The
first block is stored on the first disk, the second block on the second disk, etc. As shown
in Figure 13.5 the stripe set in this example is 2. RAID 0 improves efficiency of read
access because it allows multiple disks to operate in parallel. However, it does little to
improve reliability. Also, if the disks are different sizes, the capacity of the array is going
to be limited to the smallest disk in the array. In fact, RAID 0 arrays are actually less
reliable than single-disk storage systems, because each disk in the array adds to the like-
lihood that a disk error will occur. For example, assume the mean time to failure
(MTTF) for a single disk is once per year, and the MMTF for each disk in a storage
array is once every two years. A storage array with eight disks will have an MTTF of
four times per year, significantly worse than the single disk solution.
Note that block striping was not introduced by RAID 0. It's an old concept, imple-
mented through software by many file systems before the formalization of RAID 0. Even
so, the term RAID 0 is generally reserved for implementations with storage arrays (in
particular storage arrays that can be sold and configured with multiple RAID strategies).
13.7.3 RAID 1
RAID 1 arrays introduce the notion of mirroring to improve reliability. Each block that
is stored on disk is stored exactly twice, so that every disk in the system has a mirror
image. As a result, if a disk fails, its mirror is available to continue processing (Figure
13.6). Notice that RAID 1 requires twice the storage space for a single data set.
A variation of RAID 1 allows for a disk array of any width where adjacent disks are
used for mirroring. This method is known as RAID 1E, shown below in Figure 13.7.
Search WWH ::




Custom Search