Hello, I'm planning to use 12 x sata HDDs with 3ware 9500S-12 SATA RAID Controller. Would like to know which raid level is the fastest can be setup in this case besides raid 0. 12 drives raid 10 vs raid 5 vs raid 50. I need fast reads and good writes, read is more important for me. I looked at benchmark on 3ware.com http://www.3ware.com/products/benchmarks_sata.asp, seems raid 0 is faster then raid 5, but if raid 10 is used, it will be slower in reads.
I could be wrong. Please give me some advise.
well first off, If you can afford it, I would suggest moving from SATA to SAS if you are truly concerned about speeds, and it is within your budget. SATA is a switched transfer system, whereas SAS is not, and thus has a better throughput for read and writes.
That being said, The rest of the answers are more complicated. Raid 5 is a better solution for redundancy and utilization of space, as you typically get around 66% of the space of all 12 drives, whereas with RAID 1 you would only get half. RAID 10, you would also only get half of the space of 6, As RAID 10 is RAID 1 and 0, meaning you have 6 of the disks in a RAID 0 set, and the other six in another RAID 0 set mirroring the first RAID 0. Thus giving you 6 HDDS worth of space. RAID 50 is RAID 5 and 0. In RAID 50, you would have a set of RAID 0 sets, setup together each as one drive, and then RAIDed into a RAID 5. This allows for a better I/O performance than a regular RAID 5 setup does, because of the striping of the RAID 0, and you should also get about 8 HDDs of space out of the deal. However, the RAID 50 will only allow short bursts of HIGH I/O, whereas the RAID 10 should be able to sustain longer periods of HIGH I/O. Also, the RAID 10 will hold up to multple Drive Failures better than RAID 50 will. RAID 5 has similar advantages to RAID 50, except it will be much slower. RAID 5 is generall only used in situations where Data reads are capable of being non-continuous. (The data chunks can be seperated, and don't have to be in order.) This is more common for Databases, and not flat file storage, because then you lose speed quickly. RAID 5 give you the ability, however, to utilize the space better than RAID 1/10 would.
RAID 0 is often MUCH faster than all of the other RAIDs and gives you one big RAIDed drive, however, there is a reason why RAID 0 is RAID 0, and not RAID 1. RAID is supposed to be Redundant Array of Inexpensive/independent Disks. RAID 0 is not redundant in any way, and the failure of one drive in the array will take the whole array offline. This is why you often see it combined with other RAID Arrays, such as 1,3, and 5. (These arrays give RAID 0 the redundancy you need, and the speed of RAID 0. unfortunately, RAID 10 or RAID 50 is expensive to implement.)
I don't need much space. Any raid level with 12 hdds will get more then enough space for me. Will be doing lots database work, database is couple gig size and growing, sometimes reads alot of data, that's why I need fast reads.
I'm still not sure which raid level I should go for. I don't consider raid 0 because I need some redundancy.
If you go with RAID 50, you should probably put up a RAID 1, and put the System Partition on that RAID1. RAID 5, (and thus inherently, RAID 50) has problems where sometimes a server will not come back online if there is a failed drive in a RAID 5 setup, and the OS is on the RAID 5 partition. This will also help alleviate some of the speed drops because the system can read from a separate set of drives for system work.
Raid 5 has its uses and so does Raid 50. But if performance is your only concern Raid 10 will be the closest to Raid 0 and with the redundancy of Raid 1. As mentioned, the only downside is the low space efficiency since you get effectively only half of the drives total capacity.
For a database that's a couple gigs (3-5gb?) in size, I think you're way over-spec'ing this. Both a 12 disk RAID array, and SAS drives, would be a waste of money for a read-heavy db.
If you want to spend money on reliability, then SAS will give you both reliability and performance. If you want expandability and reliability, go with a 4 disk RAID 10 array for the db, 2 disk RAID 1 array for the O/S, 1 disk as a hot-spare for the RAID 10 array, and 1 disk as a global hot-spare.
Since your database is read-intensive, then I'm assuming it's mostly serving the same data, over and over again, as opposed to constantly writing random data and reading out said random data (which databases are not designed for). Assuming this is MySQL, there's a lot of good docs on performance tuning, but basically:
Use MyISAM for performance, InnoDB for reliability (InnoDB writes are much slower, but much safer)
Make sure your SQL queries use indexes properly
Set up query caching
Make sure your key buffer is of a suitable size
Add more RAM (up to 4GB for now, up to 16GB later) to the system
You will see far more from investing in RAM and MySQL optimization, than you ever will from disks, on a read-intensive database. You should avoid hitting the disks in the first place, on reads.
Sorry about my post here that not relate to the OP's topic. How do you build raid 10 ?
I used to work with raid 0,1 and 5 by using software raid in linux to build a raid for web server. I never setup/build a physical raid, can anyone tell me what components do i need to build a separate raid ? The raid which i am talking here is can plug in to any computer which has SCSI card behind it. I saw one of my friend's cousin he build a raid like that but never know how did he get it work.
Note: just starting, so i don't need an expensive components.
Andy, you need a hardware RAID controller. It will either be compatible with the existing SCSI controller (e.g. Adaptec ZCR, Zero Channel RAID) or will have it's own SCSI connections. RAID 10, aka RAID 1+0, requires 4 disks; 4x250 phys = 500 logical. HP SmartArray, Dell Perc, Adaptec 2130SLP, and LSI MegaRAID are common products for SCSI, while 3ware has been common in SATA but is moving into SAS as well; opinions on these products, and further discussion, would warrant a new thread.