Hi newcomer and welcome to the Tom's hardware forum.
The best RAID options for a server are:
1- Mirror array of the OS partition.
2- RAID 5 array for the database and others.
It actually depends on how high performance you are looking for. For a good database server, you want at least 3 distinct physical drives (or sets of drives, the underlying RAID gives you redundancy). 1 for the OS/swap, 1 for data, 1 for audit/log/redo files (depending on which DB). RAID 10 from what I've seen gives you the highest number of IOs in a random database environment. RAID 5 might save you some money, but is not better performing.
http://www.orafaq.com/wiki/RAID - "Oracle refers to RAID 10 as SAME - Stripe and Mirror Everything, in which Everything merely means datafiles, tempfiles, redo logs and controlfiles.
RAID 10 is the ideal RAID level in terms of performance and availability, but it can be expensive as it requires at least twice the amount of disk space. If money is no objective, always choose RAID 10! "
I focused on Oracle here, but the concepts apply to any database. Obviously, a lot depends on your budget, and what you are trying to do. Databases can be complex, you need to know what you are doing for performance and to prevent data loss. Again, just based on my previous Oracle work, there are technologies such as ASM (automatic storage management), or alternately look at what Oracle calls OFA (optimal flexible architecture?? - it's been a while). These terms are Oracle specific but the concepts of spreading out DB info can be applied to any DB.
offloading to a 500MHz CPU yes; while you have a 3GHz quadcore or whatever in your host system; which is going to be faster you think?
And its not the parity calculations that are heavy, its the combining and splitting of I/O that is very memory intensive; that's what causes RAID5 to have more processing overhead. The parity calculations itself goes at memory speed (4GB/s+).
There is no reason a hardware controller would be better than a good software driver. Software has the fastest hardware available, and it doesn't have increased latency all hardware RAID has; the onboard SATA ports are extremely low latency.
Especially for simple levels like RAID0 and RAID1, using hardware RAID would slow down I/O slightly; its a solution inferior to a good software solution.
I am sorry to revive this thread, but I am doing some research to the same thing.
Although I think that what Sub Mesa said sounds plausible, I still think there is a risk with software raid. Maybe I am wrong and then I like to know that, but it seems to me that a software raid has a higher risk to fail as it uses the OS. So when the OS fails, your raid configuration will fail as well. If this is true, wouldn't it be more sensible to use a hardware raid as it will be separated from the OS?
Another question, is it possible to have redundant raid controllers?