Physical Database Design: The Database Professional's Guide to Exploiting Indexes, Views, Storage, and More

Throughout this book we have discussed the value of physical database design in reducing input/output (I/O) requirements for database systems. Intelligent and careful use of indexes, materialized views, data clustering, and range partitioning can all help reduce the I/O burden. However, despite the very best application of physical database design features, unless all the database data can be cached simultaneously in main memory, I/O will be required. Most databases used for online transaction processing (OLTP) and decision support systems (DSS) the I/O requirements remain very significant. It is common for databases larger than 500 GB pre-load data to be I/O bound [4] when they go into operation. This means that although the user has paid for significant CPU capacity they aren t able to make use of it, because the CPU is waiting for I/O. Database vendors are now trying to help alleviate this problem by selling systems with a pre-configured balance between storage bandwidth and CPU capacity. These pre-configured systems are often called a data warehouse appliance. An example of this is the IBM Balanced Configuration Unit (BCU). Even so, minimizing the amount of I/O a database must perform to execute a workload remains a vital strategy. Ken Rudin said much the same thing in 1998 when he published an article in DM Review Magazine:
Denormalization and advanced indexing techniques are highly effective for improving the performance of your data warehouse and other applications. But, regardless of how effectively you use these techniques,...