Actually, random writes on a RAID-5, while not performing that well because of 
the pre-read, don't require a full stripe read (or write).  They only require 
reading the old data and parity, then writing the new data and parity.  This is 
quite a bit better than a full stripe, since only two actuators are involved; 
thus you can simultaneously process up to N/2 write operations to an N-wide 
array.  (If most of the stripe is being written, it's cheaper to read the 
remaining data and use that to compute the parity instead; many implementations 
use this optimization.)

RAID-Z requires the full stripe access to verify the checksum. (Though some 
checksum algorithms could be recomputed with only a partial read, as above, 
allowing parallel writes.)

RAID-10 is almost certainly the best choice for a random-write-heavy workload, 
while RAID-Z gives the best storage utilization. Perhaps ZFS will provide 
migration facilities someday to automatically place blocks on the optimal 
storage type. :-) Actually, there's no inherent reason not to allow both 
mirrored and RAID-Z blocks to be intermixed on the same devices in the 
future....
 
 
This message posted from opensolaris.org
_______________________________________________
zfs-discuss mailing list
zfs-discuss@opensolaris.org
http://mail.opensolaris.org/mailman/listinfo/zfs-discuss

Reply via email to