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