Anytime you're looking at a high write load on a database (not just
PostgreSQL) you should be looking at a hardware RAID controller with
battery backed cache and RAID 1 or RAID 1+0.
We recently benchmarked the latest and greatest PCI-X SATA mega raid
controller (with NCQ support, so approaching SCSI performance) and we
found it was no faster than running s/w RAID-1 on a dual-core P4 with
the 2.6 series kernel. It would no doubt offer an advantage on running
RAID-5 or any other RAID scheme that required XOR computation, but we
don't want to use RAID-5.
However we did not fit the Transportable Battery Backup Unit and so we
didn't measure the benefit of early commit to the cache (fsync() returns
early, data is written to disk later, battery keeps data safe in the
meanwhile).
I plan on repeating the experiment again later on in May once we have a
TBBU and will post the results here if anyone is interested.
Best wishes,
Robin