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

• From: "Cary Millsap" <cary.millsap@xxxxxxxxxx>
• To: <Oracle-L@xxxxxxxxxxxxx>
• Date: Thu, 9 Sep 2004 21:05:13 -0500
```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

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.
http://www.hotsos.com
* 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 www.hotsos.com for schedule details...

-----Original Message-----
From: oracle-l-bounce@xxxxxxxxxxxxx =
[mailto:oracle-l-bounce@xxxxxxxxxxxxx]
On Behalf Of J.Velikanovs@xxxxxxxx
Sent: Thursday, September 09, 2004 4:10 PM
Cc: edgar.chupit@xxxxx; Oracle-L@xxxxxxxxxxxxx;
oracle-l-bounce@xxxxxxxxxxxxx
Subject: Re: Re[2]: Raid5 Vs Raid0+1 -- Raw Vs Solaris 9 Concurrent =
Direct
IO UFS

I have read "Configuring Oracle Server for VLDB"
http://www.miracleas.dk/BAARF/0.Millsap1996.08.21-VLDB.pdf
Page 11.
>From this paper:
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D
Any write to a RAID 5 stripe requires resource intensive six-step =
process=20
[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 =

data.
4. Add the contribution to parity of the new data.
5. Write the new parity data.
6. Write the new data.
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D
Yes, Edrag is right regarding formula "2R (1,2) + 2CPU (3,4) + 2W =
(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?

Jurijs
+371 9268222 (+2 GMT)
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
Thank you for teaching me.
http://otn.oracle.com/ocm/jvelikanovs.html

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?"
>http://www.hotsos.com/e-library/abstract.php?id=3D11
>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 =
RAID.
>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
>(3+1)
>
>
>Jurijs
>
>PS I am going to read
>http://www.miracleas.dk/BAARF/0.Millsap1996.08.21-VLDB.pdf
>
>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 =
in
>any
>>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 one=20
RAID5
>set,
>>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 (http://www.miracleas.dk/BAARF/0.Millsap1996.08.21-VLDB.pdf)
>>at page 11.
>>
>>--
>>Best regards,
>>Edgar
>>
>>--
>>To unsubscribe -
>mailto:oracle-l-request@xxxxxxxxxxxxx&subject=3Dunsubscribe
>>To search the archives - http://www.freelists.org/archives/oracle-l/
>--
>To unsubscribe -=20
mailto:oracle-l-request@xxxxxxxxxxxxx&subject=3Dunsubscribe
>To search the archives - http://www.freelists.org/archives/oracle-l/
--
To unsubscribe - =
mailto:oracle-l-request@xxxxxxxxxxxxx&subject=3Dunsubscribe=20
To search the archives - http://www.freelists.org/archives/oracle-l/

--
To unsubscribe - mailto:oracle-l-request@xxxxxxxxxxxxx&subject=unsubscribe
To search the archives - http://www.freelists.org/archives/oracle-l/
```