 |
|
Disk Striping
Oracle Tips by Burleson Consulting |
Disk striping is the
process by which multiple smaller disks are made to look like one large disk.
This allows extremely large databases, or even extremely large single-table
tablespaces, to occupy one logical device. This makes managing the resource
easier since backups only have to address one logical volume instead of several.
This also provides the advantage of spreading I/O across several disks. If you
will need several hundred gigabytes of disk storage for your application,
striping may be the way to go.
There is one disadvantage to striping, however: If one
of the disks in the set crashes, you lose them all unless you have a
high-reliability array with hot-swap capability. Striping is RAID0.
Disk Shadowing or Mirroring
If you will have mission-critical applications that you
absolutely cannot allow to go down, consider disk shadowing or mirroring. As the
term implies, disk shadowing or mirroring is the process whereby each disk has a
shadow or mirror disk to which data is written simultaneously. This redundant
storage allows the shadow disk or set of disks to pick up the load in case of a
disk crash on the primary disk or disks; thus the users never see a crashed
disk. Once the disk is brought back online, the shadow or mirror process brings
it back in sync by a process appropriately called resilvering. This also allows
for backup since the shadow or mirror set can be broken (e.g., the shadow
separated from the primary), a backup taken, and then the set resynchronized. I
have heard of two, three, and even higher-number mirror sets. Generally, I see
no reason for more than a three-way mirror as this allows for the set of three
to be broken into a single and a double set for backup purposes. Shadowing or
Mirroring is RAID1.
The main disadvantage to disk shadowing is the cost: For
a 200-GB disk “farm,” you need to purchase 400 or more gigabytes of disk
storage.
Redundant Arrays of Inexpensive Disks (RAID)
The main strength of RAID technology is its
dependability. In a RAID5 array, the data is stored, as is parity data and other
information about the contents of each disk in the array. If one disk is lost,
the others can use this stored information to re-create the lost data. This
makes RAID 5 very attractive. RAID 5 has the same advantages as shadowing and
striping but at a lower cost. It has been suggested that if the manufacturers
would use slightly more expensive disks (RASMED—redundant array of slightly more
expensive disks) performance gains could be realized. A RAID 5 system appears as
one very large, reliable disk to the CPU. There are several levels of RAID to
date:
RAID0. Known as disk striping.
RAID1. Known as disk shadowing.
RAID0/1. Combination of RAID0 and RAID1. May also be
called RAID10 depending on whether they are striped and mirrored or mirrored
then striped. It is generally felt that RAID10 performs better than RAID01.
RAID2. Data is distributed in extremely small increments
across all disks and adds one or more disks that contain a Hamming code for
redundancy. RAID2 is not considered commercially viable due to the added disk
requirements (10 to 20 percent must be added to allow for the Hamming disks).
RAID3. This also distributes data in small increments
but adds only one parity disk. This results in good performance for large
transfers; however, small transfers show poor performance.
RAID4. In order to overcome the small transfer
performance penalties in RAID3, RAID4 uses large data chunks distributed over
several disks and a single parity disk. This results in a bottleneck at the
parity disk. Due to this performance problem, RAID4 is not considered
commercially viable. RAID3 and -4 are usually are used for video streaming
technology or large LOB storage.
RAID5. This solves the bottleneck by distributing the
parity data across the disk array. The major problem is that it requires several
write operations to update parity data. That said, the performance hit is only
moderate, and the other benefits may outweigh this minor problem. However, the
penalty for writes can be over 20 percent and must be weighed against the
benefits.
RAID6. This adds a second redundancy disk that contains
error-correction codes. Read performance is good due to load balancing, but
write performance suffers because RAID6 requires more writes than RAID5 for data
update.
For the money, I would suggest RAID0/1 or RAID1/0, that
is, striped and mirrored. It provides nearly all of the dependability of RAID5
and gives much better write performance. You will usually take at least a 20
percent write performance hit using RAID5. For read-only applications RAID5 is a
good choice, but in high-transaction/high-performance environments the write
penalties may be too high. Table 1.1 shows how Oracle suggests RAID should be
used with Oracle database files.
Table 1.1 RAID Recommendations
|
RAID |
Type of Raid |
Control File |
Database File |
Redo Log File |
Archive Log File |
|
0 |
Striping |
Avoid |
OK |
Avoid |
Avoid |
|
1 |
Shadowing |
Recommended |
OK |
Recommended |
Recommended |
|
0+1 |
Striping and shadowing |
OK |
Recommended |
Avoid |
Avoid |
|
3 |
Striping with static parity |
OK |
OK |
Avoid |
Avoid |
|
5 |
Striping with rotating parity |
OK |
Recommended if RAID01 not available |
Avoid |
Avoid |
(From MOSC, NOTE:45635.1)
New Technologies
Oracle is a broad topic; topics related to Oracle and
Oracle data storage are even broader. This section will touch on several new
technologies such as optical disk, RAM disk, and tape systems that should be
utilized with Oracle systems whenever possible. Proper use of optical technology
can result in significant savings when large volumes of static data are in use
in the database (read-only). RAM drives can speed access to index and small
table data several fold. High-speed tapes can make backup and recovery go
quickly and easily. Let’s examine these areas in more detail.