Oracle pushes low-cost Apple disks
Oracle is collaborating with the new Apple
Xserv RAID devices, a low-cost data storage array with hardware
RAID. This disk array features “hot-swappable” disk “modules, and
the device can hold up to 7 terabytes.
Life after Coffee’s Jon Emmons notes that the cost is $12k, but
that is only $1.86 per gig. The Apple pitch notes:
“the
gigabyte-per-dollar ratio of Xserve RAID is the best in the world
for Fibre Channel storage and trumps most SCSI storage solutions as
well. Xserve RAID offers up to 7TB of high-performance storage at
under $2 per gigabyte — a fraction of the cost of storage from Dell,
HP, Sun or IBM.”
However, it’s the speed of the disk that
counts, not the cost, and here is the
spec sheet for the Xserv disks. The first scary part is that
each spindle has an 8 meg cache, a component that suggests highly
variable access speed.
It turns-out that the disk spindles are 250 gig or
500 gig behemoths, and there are serious speed issues associated
with
super-large disks in Oracle databases. If your whole database
fits on a single spindle, the device can shake like an
out-of-balance washing machine when the read-write heads get moving,
especially if you have popular data files on the outer cylinders:

I always get suspicious when I don’t see
average speed numbers (instead they use throughput numbers), so we
have to wonder “what is the average access latency” of these
spindles?
How fast is the Apple XServ RAID?
Oracle DBA's are interested in average access
speed, not throughput numbers, and we have to do some math to
guesstimate the average latency of the Apple XServ RAID disks.
Ironically, I could only find the average seek delay on
an eBay ad: “Average seek time - 8.5 ms”. We can compute the
average rotational delay based on the spin speed (7,200 RPM), assuming that.
on average, we have to wait for "half a revolution".
Hence, the average
rotational latency is as follows:
7,200 RPM = 120 revolutions per second
Hence, we have one revolution every 1/120th
of a second = .00833 = 8.33 milliseconds per revolution.
Hence, the average rotational delay for
this device (assuming that must wait for half a revolution) is
4.16 ms.
OK, now that we know the average seek and rotational latency, we
can finally get the average latency, excluding data transmission
time:
Average seek delay =
8.50 ms
Average Rotational delay = 4.16 ms
12.66 ms
Of course, the total average speed will be reduced by the
on-board 8 meg data caches, but we still have the problem of
minimizing the seek delay. If we place frequently-accessed
data files on the outer cylinders, the average seek delay will be
far longer:

|