Take the 2-minute tour ×
Server Fault is a question and answer site for professional system and network administrators. It's 100% free, no registration required.

What would be more efficient?

Let say we have 2 hdd's.

Consider this scenario:

There are 2 simulations requests.

In the RAID-0 setup the speed of the response will be boosted by the array.

In the regular 2 hdd setup. The response speed could be heavily boosted if the requested files are not on the same hdd. This way both hdds will work at their maximum capacity to serve the files.

My question is which will be faster and more efficient in the long run?

share|improve this question
    
Define "efficient" in this context. –  John Gardeniers Aug 6 '10 at 3:59

4 Answers 4

up vote 1 down vote accepted

My question is which will be faster and more efficient in the long run?

Assuming you really want these approaches (no redundancy), you will find that unless you primarily do random access of data quantities significantly smaller than your stripe size, the RAID0 approach will perform significantly better than JBOD.

Consider the following cases:

  1. Two files larger than stripe size: Chances they are on the same JBOD disk: 50%. Chances they are on the 'same' RAID disk for streaming transfer purposes: 0%

  2. One file larger than the stripe size: Chances it is on the same JBOD disk: 100%. Chances it is on the 'same' RAID disk for streaming transfer purposes: 0%

  3. Three files larger than the stripe size: Chances they are evenly distributed between the disks with JBOD: 0%. Chances they are evenly distributed between the RAID disks: 100%.

  4. Large # of files larger than the stripe size: Functionally equivalent between the options.

  5. Large # of small files / random small requests: Functionally equivalent between the options with the caveat that if the seeks are to a single file, RAID0 wins again.

The situation where JBOD wins is if you want to be able to recover some data if a disk fails. If you are using either of these methods and want to be able to recover data in case of a drive failure, you are probably doing it wrong (IMHO).

share|improve this answer

Know your I/O. It depends on your expected I/O patterns, as well as your failure tolerance. Which will be faster and more efficient in the long run? It entirely depends. There is no hard and fast standard.

If you have two very different workloads on that server then having each workload on their own spindle will give you the best gains... maybe. It could be that the total I/O of both combined would not exceed what could be gained with RAID0. Or maybe it will, especially if one of them involves significant number of sequential accesses where any kind of random I/O will slow things down.

The down side of RAID0 is that the failure of a single drive means all the data are gone not just half of it (technically yes, half it of it is still there, but it isn't useful). You must balance this potential with your performance goals.

share|improve this answer
4  
+1 - It depends. It always depends. Benchmarking the workload is the only way to know for sure. –  Evan Anderson Aug 5 '10 at 22:32

Considering that, with RAID 0, one drive tanking will destroy all of your data ... The most efficient solution, in this scenario, is JBOD.

RAID 0 is almost never the right answer.

share|improve this answer
2  
almost never - unless you enjoy B.A.S.E. jumping, in which case RAID0 might be right up your alley ;) –  Mark Henderson Aug 6 '10 at 0:36
    
If you are using either of these approaches without also storing your data somewhere else / backing it up, you're doing it wrong, JBOD or RAID0. I can conceive of a situation where JBOD is better than RAID0 for this reason, but I sincerely doubt most people are in such a situation. –  Slartibartfast Aug 6 '10 at 0:47
    
A more well-thought-out version of my own answer would have been "benchmark it and see, but RAID 0 is almost never the answer. Whatever you do, back it up"... But, yeah. B.A.S.E. jumping ... I like it. "Skydiving for those opposed to jumping out of a perfectly good aircraft." –  Adrien Aug 6 '10 at 17:10

It should depend on the size or continuous nature of the read in question? RAID0 will speed up continuous read throughput but random access usually even takes a slight hit.

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.