DaveWentzel.com            All Things Data

RAID

 

General RAID Concepts


Mirroring performs better on reads in most implementations.  The reads can be divided amongst the pair to reduce the effects of rotational latency and seek time. 
 
RAID can be implemented at the HBA level, the subsystem controller, or the volume management software. 
 
Useful Terms
A "strip" is a piece of data written to an individual member and a "stripe" is all of the related strips with a common parity value. 
 
 
RAID Number
RAID Name
Notes
Problems
 
0 Striping Has striping and no parity.  Used when performance is paramoutn and reliability is not.  No reliability.   
1
Mirroring
Resilient to multi disk failures.  Good for Database transaction logs.  No parity and no striping.  Excellent for db performance. 
 
 
2   is obsolete because the underlying disk technology hasn't been used for a long time.     
3 Parallel Access with Parity not useful for multi-tasking environments and hence rarely used.  Sometimes seen in video production, live video streaming...any application requiring high throughput.     
4 striping with dedicated parity drive has a static parity location on a single member.  the dedicated parity member usually turns out to be a performance bottleneck.  Suffers from parity write-performance issues.  RAID 5 Write Penalty  
5
striping with parity or "independent access with interleaved parity"
http://www.baarf.com has good documentation on why RAID 5 is bad for a db server.  Only protects against single disk failure.  Has striping and parity.  Unlike RAID 4 the parity location is dynamic. 
nodetitle means you probably don't want to use RAID 5 for a write-heavy application.  RAID 5...is it ever a good choice?
 
6   uses 2 different parity calculations to safeguard against multiple disk failures.  Therefore only susceptible to failure in 3 members.  Suffers from parity write-performance issues.  nodetitle  
10 (0+1)
mirrored stripe set
this is the current db log and data file recommendation.  Excellent read/write performance.  Combines the mirroring of RAID 1 with the striping of RAID 0.  It mirrors every member of a RAID 0 array.  This removes the nodetitle.  Also, more redundancy depth.  No loss of performance when operating in degraded mode.  No limit to the number of members in the array. 
50% redundancy overhead. 
 
(1+0)   it really shouldn't be used and really isn't required.  More here...RAID 0+1 and RAID 1+0    
15 mirrored RAID 5 sometimes this is referred to as RAID 15, sometimes as RAID 50    
50
mirrored RAID 5
sometimes this is referred to as RAID 15, sometimes as RAID 50
 
 
60 (0+6) striped double parity set striped RAID 6.  More information here.      
 
Your choice of RAID for database component files is critical.  For transaction logs, see nodetitle.   For data files (tablespaces or filegroup files), there is no specific RAID that is recommended...it depends on cost/benefit analysis.  The basic theory is to stripe data across the largest number of drives possible to avoid single drive contention.  Mirroring for redundancy is usually important as well. 
See Disk Metrics page for determining if your RAID array can handle your IO load. 
 
JBOD
Just a Bunch of Disks.  These subsystems export storage as raw disks without doing RAID at all.  Host-based volume management software handles all of this for you. 
 
Hot Swapping / Hot Sparing
the former allows drives to be replaced w/o powering down.  The latter is always on and is just "inserted" into the subsystem when needed. 
 
 

Add new comment