I noticed that RAID 5 has been used for a lot of critical application such as SQL server machine. However RAID 10 seems to be a lot more robust. But not much people using it. Any reason why or when should we consider RAID 10 or never?
This question will depend greatly on your hardware, server workload and storage capacity.
For example, Raid 10 can have considerable performance increases over Raid 5 (especially on random or small writes), but storage capacity is cut in half. The performance differences may not even be noticeable depending on the load, so the Raid 5 with the extra space may be more appealing.
Let's assume we have 12 1TB hard drives. In a raid 5 we would get:
* Usable Space: 10TB (using base-2, what your operating system would see)
* Fault Tolerance: 1 drive can fail
* Read Speed: 11x
* Write Speed: < 1x
* The best storage efficiency
* High sequential read performance
Downsides to Raid 5:
* Rebuilding a bad drive can take very long time and will cause a medium performance decrease during the rebuilding process. You will have zero fault tolerance during this process.
* Overall performance degrades as the % of writes increase. This is due to I/O balancing.
Now take 12, 1TB hard drives in a raid 10:
* Useable space: 5.4TB
* Read speed: 12x (theoretical)
* Write Speed: 6x (theoretical)
* Fault Tolerance: can lose 1 drive in every raid 1 array, 6 in this example. But you cannot lose 2 drives in a single raid 1
* High fault tolerance (as long as two drives in a mirror do not fail)
* Fast reads, writes, and random/small writes (important in databases)
* Fast rebuild times in case of disk error
* 50% of your disk space is gone, and this is usually the deal breaker for most wihtout large budgets.
* Scalability can get expensive
For me, if I am on the fence between a 10 or 5 then I usually go with a RAID 50. This is a good balance between the two (cards that support Raid 50 can get expensive though).
* Useable space: 9TB
* Read Speed: 10x
* Write Speed:< 2x * Fault tolerance: 2 drives
* Faster than raid 5 write speeds
* Good storage efficiency
* Fast read speeds
* Less of penalty to rebuild bad disk
* Retain fault tolerance if one disk fails
Again, a lot of variables will go into performance on these things: quality of the raid card, speed of the drives, number of drives in your pool, disk/strip alignment in databases, etc.
As mentioned before, most go straight for RAID5 due to cost issues. I use RAID10 for my small setups at work due to them being easier to recover if something goes wrong. If more than one disk goes, there is nearly 0 chance of recovery. With RAID10, for files at least, you have the ability to recover partial bits when things go wrong.
+1 for the BAARF above.
Wikipedia say :
The choice between RAID 10 and RAID 5 for the purpose of housing a relational database depends upon a number of factors (spindle availability, cost, business risk, etc.) but, from a performance standpoint, it depends mostly on the type of I/O expected for a particular database application.RAID 10 is often chosen because it offers a slight speed improvement over RAID 5 on sustained reads and sustained randomized writes.
For details visit :
For RDBMS's, some good arguments at: http://www.baarf.com/
RAID 5 is used a lot due to cost issues, and many people use it as a "default" without thinking further.