10

I am new to setting up SQL Servers and Vms. My predecessor used Raid 5 for C Drive where the SQL installation resided and RAID 10 for both database files and database logs.

I was wondering whether that is correct or should RAID 5 be utilized for SQL database files instead?

Any help?

4
  • 2
    maybe this can help dba.stackexchange.com/questions/7773/…
    – adopilot
    Commented May 10, 2013 at 20:27
  • RAID 5 for C sounds like a waste of money. If it's for TempDB, then move that to it's separate RAID 10 partition if you can. Other than that, RAID 10, while more expensive, does offer better performance for relational systems with heavy WRITEs. Whether your case meets that is not something we could assess, but you can measure that.
    – SchmitzIT
    Commented May 10, 2013 at 21:15
  • 2
    Although I am not a SQL Server person, I can really say that RAID5 is insane : dba.stackexchange.com/questions/12977/… Commented May 10, 2013 at 21:30
  • 1
    It's impossible to give a focused answer to this question without more information. What is your read/write ratio? What is the typical workload? How good is your SAN's caching mechanism, and how much cache is there? Is this data mission-critical or is it archive data? And on and on...
    – Jon Seigel
    Commented May 11, 2013 at 12:34

5 Answers 5

18

I did a series of TCP-C tests against several of the common RAID levels and was surprised that in a write-heavy scenario RAID5 was over 3x slower than RAID10 (it was 319% slower, to be specific). Your mileage may vary according to the actual ratio of reads versus writes in your scenarios.

-Kev

3
  • 4
    +1 hey, welcome to dba.SE, Kev! Still recovering from the UK? Commented May 10, 2013 at 20:37
  • 1
    +1 but... surprise? Granted the 3x over R10 you recorded is worse than expected but the scale of RAID write penalties tends to hold true across "typical" workloads. Commented May 11, 2013 at 0:25
  • 2
    Surprise should be reserved for the audacity of storage vendors pushing R6 once R5 was deemed doomed :) Commented May 11, 2013 at 0:29
13

I would prefer RAID 10, by at least an order of magnitude, if you can afford it. The write performance is really tough to match, and while the read performance is slightly lower, this is only a factor in cases where your memory is completely inadequate (since typically most reads should not be physical).

While a bit dated, here is a great set of data from Kendal Van Dyke to back that up (these links are the intro and the summary; the former has links into all of the parts):

http://www.kendalvandyke.com/2009/02/disk-performance-hands-on-series.html

http://www.kendalvandyke.com/2009/02/disk-performance-hands-on-series-recap.html

2
  • 1
    I agree with Aaron. We moved from RAID5 to RAID10 a year or so ago and have seen dramatic improvements in writes as well as reads.
    – avakharia
    Commented May 17, 2013 at 21:06
  • What is the reason that reads are slightly slower with RAID 10?
    – variable
    Commented Jul 16, 2022 at 17:55
3

I am not sure you are setting up a SQL on VM or Physical. If it is VM, storage decision may vary as it is depends on the VM Host.

I recommend not to install SQL on C drive, dedicate the SQL for OS and OS only. So, it can be small but make sure to mirror the C drive, because if C drive give up whole sever needs to rebuilt.

As everyone suggest, RAID 10 much better than RAID 5 when it comes to IO. At the same time, RAID 5 works great on Indexing because it reads faster than RAID 10. RAID 10 good for LOG and TEMP DB. Many cases DATA and INDEX as well. We use RAID 10 most of the time.

1
  • when you say IO, not being accurate here. IO applies to both read and write. You should be specific.
    – enorl76
    Commented Jul 26, 2018 at 21:02
0

RAID-5 is great for READING (io is split over 3+ disks) but not for WRITING (must calculate parity over 3+ disks)

RAID-10 is great for READING and WRITING, but incurs higher hardware costs (4x cost)

OS installed on RAID5 is fine, but keep main database files on the RAID-10.

Ironically, shifting your data into data warehousing might be prudent to utilize a RAID-5 array since you're doing a lot of analysis/reading and much less writing.

TempDB on RAID-10 is also best approach.

0

Performance is important, and RAID 10 is superior as others have mentioned. IMHO, what is more important is the high availability characteristics of the array. RAID 5 can tolerate only 1 disk failure, RAID 10 can potentially lose up to 1/2 the disks and still work. Even worse, is how the array performs when a disk fails. Although you won’t lose data, a RAID 5 with a failed disk must perform a XOR operation on every sector read to recover the data. If you’ve ever experienced a disk fail on a RAID 5 in production on a busy array, you know it’s practically useless. I have seen it bring systems to their knees quite a few times... beware!

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.