-2

I'm considering moving a large database from mechanical disks to SSDs. My initial instinct was to go for RAID 10, but further research suggests that this configuration can significantly reduce the random access performance of the SSDs.

The database is very much read heavy and it's generally generating large data reports, so my assumption is that there is very little by way of sequential workload.

The main alternative suggested to RAID 10 when it comes to SSDs is RAID 1. Of course, this limits me to the size of a singe disk which is, realistically, going to be less than 1TB. This is not ideal.

I guess my question is, just how significant is the random access hit and, assuming I need greater capacity than a single drive can offer, what is a good alternative? Bear in mind this is a Server 2008 box so fancy ZFS solutions or the like are, sadly, not an option.

womble
  • 95,029
  • 29
  • 173
  • 228
Sufo
  • 37
  • 1
  • 4
  • 2
    Can you cite this "further research" of yours? – womble Aug 03 '12 at 14:23
  • Hi, sorry, it's just something I've read a few times in various threads on forums - I'm simply accepting it to be true, but I'd be more than happy to be educated to the contrary. The reasoning tends to be there is a RAID overhead with every read/write which would represent a much greater proportion of an SSDs read/write time than it would a mechanical disk. Would you say the performance hit is overstated then? – Sufo Aug 03 '12 at 14:58
  • If you use HW RAID and RAID level 0 and 1 (or combine them to 10) then I see no need for significant overhead. Now if you did software RAID 5 then yes. But nobody [should] do that on a server hosting a database. – Hennes Aug 03 '12 at 15:03
  • 4
    `"I'm new to this particular exchange board so perhaps I broke a rule or something with this post, but I was surprised to see a bunch of downvotes so quickly."` - Probably because you provide a piece of information that is contrary to generally accepted ideas without providing a link to a credible source or your own benchmarking results to prove it. That's like saying "Research shows that the Sun revolves around the Earth. How does this effect the estimated distance between us and other stars?" You can't just expect people to take your word that the sun revolves around the Earth, can you? – MDMarra Aug 03 '12 at 15:07
  • I certainly don't expect anyone to take my word for anything! I only want to be educated as to the facts of the matter. If I knew the answer to my own questions it would be a bit silly of me to ask them! Anyway, thanks for elaborating. – Sufo Aug 03 '12 at 15:14
  • 1
    Firstly - we're not a 'board' and we're certainly not a 'forum' - this site is about facts, not opinion and REALLY not about 'shopping questions' - that said if you don't write too heavily (which kills SSDs) you'll see huge benefits to your DB by moving to a R1/10 SSD setup - even more if you move to a R1 PCIe Flash-based system such as FusionIO. HUGE. – Chopper3 Aug 03 '12 at 15:16
  • Well there's no need to get uppity about the definition of serverfault. The question certainly was about facts - whether or not RAID 10 introduces a performance hit to the random access times of SSDs. It also certainly wasn't a "shopping question" as the move will be made regardless, I just want to find out the *facts* of which is the best configuration. I came here ill informed, and quite aware that I may well have been, hence me asking for clarification on this "Q&A site". Anyway, thanks for your response, although it's not quite what I was looking for. – Sufo Aug 03 '12 at 15:25
  • 2
    @sufo, Try not to read into Chopper too much. He's really a nice guy who happens to sound like a Ogre now and then. [SF] is commonly misunderstood (taken as just another forum), so the regulars tend to be sensitive to anyone using forum terminology. The [FAQ] covers the differences pretty well, and us not being just another forum is the reason we've attracted many extremely talented computer professionals. – Chris S Aug 03 '12 at 15:52
  • Perhaps the RAID 1 vs RAID 10 for SSD information involved stride sizing vs. flash erase block sizing, and the OP didn't catch what was being referred to. I can see where a smaller stride can impact SSD and reduce perform and/or lifetime. – Skaperen Aug 03 '12 at 16:47
  • @Sufo: You're asking us to refute "facts" that you can't actually supply. No surprise you got downvoted. – womble Aug 03 '12 at 22:18

2 Answers2

9

Whoever told you that RAID 10 is somehow inherently slower than RAID 1 doesn't know what they're talking about. That makes the rest of the question unanswerable as it's based on a false assumption.

Further reading: What are the different widely used RAID levels and when should I consider them?

Chris S
  • 77,337
  • 11
  • 120
  • 212
7

You may have misunderstood someone. RAID-5 is slower than RAID-10 on writes, but RAID-1 can be treated as a RAID-10 with a single pair of disks, and thus has the same performance per "spindle" as RAID-10.

The best recommendation for SSD on a database is to use RAID-5. The rebuild time on the incredibly small and fast SSD drives is very good. Since you'll be doing mostly reads, the only penalty for using a RAID-5 (write overhead due to parity calculations) is not going to affect you greatly. The advantage is that you get to take advantage of SSD performance on a larger slice of your capacity. Going to RAID-10 (or RAID-1) will have a space penalty of 50%.

Of course, you need to make sure you have a hot spare SSD ready to spare in as soon as a disk fails, regardless of whether you use RAID-10 or RAID-5.

Basil
  • 8,811
  • 3
  • 37
  • 73
  • +1 for everything Basil just told you. Also take a look at [this blog post by another knowledgable regular](http://www.standalone-sysadmin.com/blog/2012/08/i-come-not-to-praise-raid-5/?utm_source=feedburner&utm_medium=feed&utm_campaign=Feed%3A+standalone-sysadmin%2FrWoU+%28Standalone+Sysadmin%29) which talks a little bit about why RAID-5 has such a bad reputation (earned from mechanical disks), and why it doesn't really apply as much for SSD media... – voretaq7 Aug 03 '12 at 15:33
  • Hi, thanks for getting back to me. It seems evident, at least from some of the responses, that there is no random access performance hit hit to RAID 10, at least vs RAID 1. Honestly I just assumed that the striping must've taken some additional overhead. Anyway, thanks for your suggestions - the added redundancy of mirroring is essential for my use case, so now I've had my performance question answered, I think the choice is clear. – Sufo Aug 03 '12 at 15:35
  • Naw, once the drive is written to, the striping overhead is done. You can read stripes without having any parity calculation overhead like you do on raid-5 writes. Also, fwiw, I have a PB of data, most of which is in raid-5 on 600GB drives. It's still the standard, and until the ratio of space to spindle speed gets too high, it'll be the best choice usually. – Basil Aug 03 '12 at 15:49
  • Also, striping across multiple RAID-1 pairs, like you do in RAID-10, has no appreciable effect on performance. That only happens when you have to calculate parity stripes (like in RAID-5). – Basil Aug 03 '12 at 15:51