Could you please help me in this decision? Currently we are evaluating the IBM Shark and the EMC 3830 for Oracle database on NT. Which one do you suggest for an OLTP environment.
Thanks in advance.
OLTP requires high I/Ops rather than high throughput (MBps). For high performance database applications, it's usually best practice to use as many "spinning disks" as you can, to spread the I/O load across spindles. This means using more "smaller" disks rather than a few "larger disks".
Placing the transaction log on a separate RAID1 (or raid1+0) volume would also increase performance on writes to the log. Other considerations that impact OLTP applications dramatically are:
- Database Design: a good schema for table relationships
- Query Design: try and stay away from tablescans and use small subsets of data
- Indexing: this can have dramatic effects! I have seen 700% performance improvement by using proper indexing of tables!
- Threading: how many CPU's can be used concurrently, how many threads can be spawned
- Memory: The more the better
- CPU: Faster RISC processors tend to provide performance improvements
- Parallelism: This means breaking your database down into data subsets, and running a query across cluster nodes compiled into a result on a central node.
See the transaction council results for SQL Server at: http://www.tpc.org
I/O: Here is where the rubber meets the road. The slowest component of any computer is the physical aspects of I/O. Rotating disk is slower than memory. Seek times in milliseconds is slower than access time to memory in nanoseconds. To speed things up, caching is paramount. A subsystem with good cache "read ahead" algorithms and write cache design is important. It's better to have a cache design that is dynamic rather than fixed, so that read/write cache relationships can adjust to a specific I/O load type for a particular LUN. LUN creation should be virtualized so a particular LUN can be created from many "spinning disks" to alleviate write contention to a spindle. Partitioning can be used to create "short stroke" logical units. This technique minimizes the distance a particular head needs to travel on a disk to either the inner cylinders or outer cylinders of a disk.
As far as helping you choose between two particular vendors, I cannot be biased. You need to make that decision by looking at ALL the factors I have delineated in other replies to similar questions on this site. Do a benchmark of ALL the vendors with your SPECIFIC application to find out who performs best.
This was first published in October 2001