RAID 0 — Striping
Suppose you have a 100 MB file (i.e., the milkshake) to write to a 10 GB hard disk. That hard disk (the straw) can write just so fast and no faster, so the file will be written (like the milkshake being sucked up) in a given amount of time, as fast as that hard disk will allow. Now, suppose instead of one 10 GB disk, there are two 5 GB disks of identical speed. Instead of writing 100 MB to a single disk, 50 MB can go to each disk. Writing to those two 50 MB chunks simultaneously effectively halves the time required to write 100 MB. Continuing that, suppose you used four 2.5 GB hard drives, and wrote 25 MB to each. Now, the 100 MB file can be written in the time it takes to write 25 MB to one drive. This is known as RAID striping.
Likewise, disk read performance will improve. Two drives can read 50 MB each twice as fast as a single disk can read 100 MB.
Essentially, RAID 0 is used to improve performance by using multiple drives, writing to each in “stripes.” For example, using a stripe size of 8 KB, when data is sent to the drives the RAID controller divides the data into 8 KB chunks, and writes every even chunk to one drive and every odd chunk to another, effectively doubling read/write performance.
When using a RAID 0 array, you should attempt to use identical hard disks. If one disk is much slower than the other, much of the performance increase will be negated, as the faster disk will be left waiting for the slower.
The size of a RAID 0 array is dependent on the size of the smallest disk in the array. The total size is equal to the size of the smallest disk in the array, multiplied by the number of disks. For example, for an array of three 1 GB disks and one 10 GB disk, the array size would be only 4 GB (smallest disk = 1 GB, x 4 disks = 4 GB), as the remaining 9 GB on the 10 GB disk cannot be accessed by itself. This is another reason why identical drives should always be used: to avoid loss of capacity.