On Monday 17 November 2003 04:50 pm, Alan Cox wrote:
> Show me a 15kRPM SATA drive with the capability to truly know
that the
> data has hit the platter (essential for journaling filesystems and ACID
> compliant databases). Pity. :-) One will probably be available soone
> enough, but by that time the 4u 4+TB of hot swap SCSI will also be a
> reality.
SATA can support read cache only and multiple outstanding commands so
its
as happy at that as scsi.
It's not read cache only that is the issue. It's the idea that when the
application tells the kernel 'don't return until the data has hit the disk'
that the kernel can tell the drive 'get back to me when the data has hit the
disk' and the drive then can notify the kernel of that fact while still
processing other reads and writes without messing up a nice elevator, but
keeping the writes in the order given. I (being the PostgreSQL backend, for
instance) must be able to be sure that what I have written to the disk is
actually written to the disk in the order I specified.
What is needed is the full FUA extensions slated for ATA-7. In the case of
PostgreSQL, it is urgent that the WAL gets written before the actual data
page on the disk. See
http://www.ussg.iu.edu/hypermail/linux/kernel/0304.1/0450.html for the actual
text of what the Maxtor guy had to say.
And I _love_ your reply.
SCSI disks can do this. Fibre channel disks can do this. ATA disks can't yet
do this, and older ATA disks won't do this. Tagged Command Queuing is part
of the picture, but just part. I have to be sure my write ahead log is
actually written ahead of the data page, or the advantages of WAL are lost;
and, in fact, having a WAL that is out of sync with the data is worse than no
WAL at all.
--
Lamar Owen
Director of Information Technology
Pisgah Astronomical Research Institute
1 PARI Drive
Rosman, NC 28772
(828)862-5554
www.pari.edu