Oracle FAQ Your Portal to the Oracle Knowledge Grid

Home -> Community -> Mailing Lists -> Oracle-L -> RE: Re[2]: Raid5 Vs Raid0+1 -- Raw Vs Solaris 9 Concurrent Direct IO UFS

RE: Re[2]: Raid5 Vs Raid0+1 -- Raw Vs Solaris 9 Concurrent Direct IO UFS

From: Cary Millsap <>
Date: Fri, 10 Sep 2004 16:41:10 -0500
Message-ID: <00a301c4977e$e31f0170$6601a8c0@CVMLAP02>

[This is a re-send to see if I've fixed the weird line-break problem = I've
been having with this list for the past few weeks.]

The "4W" part of the RAID 5 formula is actually true only for RAID 5 = groups
larger than 4 disks. On a 3-disk RAID 5 array, for example, both large writes and small writes will consume only 3W I/O calls (one for each = disk).
The complete formula is actually R + min(4,G)*W. Since most of you have = G>3,
the simplified formula that uses '4' as a constant yields the correct answer.

In the spirit of my prior note, if you use RAID 1, the formula is still = R +
min(4,G)*W (yes, the same one, because RAID 1+0 is actually the same = thing
as RAID 5 with G=3D2). Because for RAID 1+0, the value of G is G=3D2, = the
formula simplifies to R + 2W. My original post neglected to mention the = '2'
in this formula. My apologies.

Note, however, that R + 4W > R + 2W for all values W > 0, which was the point that I had intended to convey originally.

Cary Millsap
Hotsos Enterprises, Ltd.
* Nullius in verba *

Upcoming events:
- Performance Diagnosis 101: 9/14 San Francisco, 10/5 Charlotte, 10/26 Toronto

- SQL Optimization 101: 9/20 Hartford, 10/18 New Orleans
- Hotsos Symposium 2005: March 6-10 Dallas
- Visit for schedule details...

-----Original Message-----
From: =3D
On Behalf Of
Sent: Thursday, September 09, 2004 4:10 PM Cc:;;
Subject: Re: Re[2]: Raid5 Vs Raid0+1 -- Raw Vs Solaris 9 Concurrent =3D Direct
IO UFS I have read "Configuring Oracle Server for VLDB" Page 11.
>From this paper:

=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D= 3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D =3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D= 3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D =3D3D=3D3D=3D3D=3D3D
Any write to a RAID 5 stripe requires resource intensive six-step =3D process=3D20
[Sun (1995)]:

1. Read the blocks to be overwritten.
2. Read the corresponding parity blocks.
3. Remove the contribution of the data to be overwritten from the parity =


4. Add the contribution to parity of the new data.
5. Write the new parity data.
6. Write the new data.

=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D= 3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D =3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D= 3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D =3D3D=3D3D=3D3D=3D3D
Yes, Edrag is right regarding formula "2R (1,2) + 2CPU (3,4) + 2W =3D (5,6)".
Count of IO operation (4) is independent from spin count then.

But why Cary has mentioned "1R+4W" formula then? What is background physics of this formula? Is it independent from spin count in RAID5?

+371 9268222 (+2 GMT)
=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D= 3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D =3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D= 3D=3D3D=3D3D=3D3D=3D3D
Thank you for teaching me.

On 09.09.2004 23:50:47 oracle-l-bounce wrote:

>Thank you Edgar for your interest,
>I have read "Is RAID5 Really a Bargain?"
>as well as "db_file_mutliblock_read_count and physical IO" ORACLE-L
>before ask my question.
>I thought about RAID5 as you described.
>However Cary in his paper "Is RAID5 Really a Bargain?" and in ORACLE-L
>thread have mentioned "R + 4W" formula regardless of spins count in =3D
>Why "R + 4W", I wonder?
>I assume that the way how it can be is:
>1. regardless of spin count RAID5 use 3+1 formula
>2. to make single "small" write, we need to touch all chunks of RAID5
>Please correct me.
>PS I am going to read
>On 09.09.2004 22:58:06 oracle-l-bounce wrote:
>>Dear Jurijs,
>>>>- Level 1: would have to process (R + W) I/O requests per second
>>>>- Level 5: would have to process (R + 4W) I/O requests per second
>>JVal> Can I kindly ask you to clarify few questions?
>>JVal> 1. Is 4W figure (in formula above) constant in context of RAID 5
>array and
>>JVal> not depend on spindles count? I suspect that it can be constant =
>>JVal> RAID5 implementation. In case of 6 spindles block will be
>distributed as:
>>Unless I'm missing something than according to raid specs it doesn't
>>mater how many disks are in raid5 array, you just need one additional
>>disk for checksums, so in case of 6 spindle array you can create raid5
>>that will operate according to your schema (it actually will be two
>>raid5 arrays) or you can create one raid5 array that will use 5 disks
>>for data and one disk for checksums.
>>Please, correct me if I'm wrong.
>>JVal> 2. If we need to change one of 3 data blocks belonging to =
>>JVal> block. Do I understand correctly? So for writing one block into
>RAID5 we
>>JVal> need 2W+2R. Or I am wrong?
>>Actually it's 6 step process something similar to 2W+2C+2R where 2C is
>>for cpu service. For more information read excelent article by Cary
>>Millsap (
>>at page 11.
>>Best regards,
>>To unsubscribe -
>>To search the archives -
>To unsubscribe -=3D20
>To search the archives -

To unsubscribe - =3D
To search the archives -

To unsubscribe - =
To search the archives -

To unsubscribe - 
To search the archives -
Received on Fri Sep 10 2004 - 16:37:38 CDT

Original text of this message