Here's what our database servers for our Hosted CanIt service look like:
We have sixteen 10k RPM SATA drives arranged using Linux Software RAID-10 with the "offset" strategy. This is described here: http://www.ilsistemista.net/index.php/linux-a-unix/35-linux-software-raid-10-layouts-performance-near-far-and-offset-benchmark-analysis.html
The sixteen disks are arranged conceptually as eight stripes with each stripe being a RAID-1 pair; this gives us (theoretically) 16x read performance and 8x write performance compared to a single disk; actual measurements show that the performance improvement is quite close to what the theory says.
We considered using SSDs for the database server, but I am still not completely comfortable with their reliability and for us, at least, spinning disks still work fine. Our hosted service peaks at about 7 million messages/day and the database server is nowhere near IO-saturated.
Our database servers have 256GB of RAM each. I recommend putting as much RAM as possible into the system; you want all of the small tables such as sender rules, user-lookup settings, etc. to wind up cached in RAM for best performance.
Our database servers have two physical processors: Intel(R) Xeon(R) CPU E5-2620 0 @ 2.00GHz
Each processor has six cores and each core has hyperthreading, so cat /proc/cpuinfo reports 24 processors. That seems to be plenty of CPU for our needs.
The database servers configured as above cost us $10 000 each. We use SuperMicro hardware; brand-name hardware like HP or Dell will probably be a bit more expensive.