-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.

10
  • 2
    Can you cite this "further research" of yours?
    – womble
    Aug 3, 2012 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 3, 2012 at 14:58
  • 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 3, 2012 at 15:07
  • 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 3, 2012 at 15:16
  • 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. Server Fault 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 3, 2012 at 15:52

2 Answers 2

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.

4
  • +1 for everything Basil just told you. Also take a look at this blog post by another knowledgable regular 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 3, 2012 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 3, 2012 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 3, 2012 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 3, 2012 at 15:51
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?

Not the answer you're looking for? Browse other questions tagged .