Ask the Expert

SAN performance

Many vendors tout that their SAN technology allows the use of slower, bigger drives in a RAID-5 array without a performance hit even for large OLTP databases. In my opinion, you can add as much processor and cache as you like to the SAN, it's still a matter of physics (e.g., the number of drives/spindles/channels, drive speed and RAID configuration) that ultimately affects overall performance.

Am I wrong? If not, how do I prove it short of actually setting up multiple environments for comparison?

Requires Free Membership to View

Short of actually setting up your application and running it on the different storage solutions, which would be the most accurate and representative route to take, take a look at the storage performance council (SPC) results. However, be advised that you may still be comparing apples to oranges in that the tests may not represent your applications' characteristics.

Testing aside, if you are running an OLTP update intensive (I/O or bandwidth) environment with lots of random or sequential writes, generally speaking, even with lots of cache, avoid RAID-5 if you can -- regardless of the drive type -- if performance is absolutely crucial to you. In terms of drive preferences, again from a general standpoint, 15 K Fibre Channel (FC) and SAS drives are preferred followed by 10 K FC and SAS (or U320 SCSI) disk drives. There are some storage systems and external appliances that provide additional caching and I/O acceleration capability to mask the performance impact of RAID-5 and slower SATA disk drives.

Again, generally speaking, RAID-1 or 0+1 or 1+0 are also preferred over RAID-5 to avoid parity overhead. If your application or specific tables and objects are heavy I/O bound, then look at solid state disk (SSD), however exercise caution to make sure that you are using SDRAM and not NAND flash RAM for I/O intensive data. NAND flash is less expensive and found in hybrid disk drives or USB thumb drives. However, it is also slower than the more expensive SDRAM commonly used as cache or memory for servers.

This was first published in March 2007