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

We must beat the iron while it is hot, but we may polish it at leisure.
John Dryden (1631 1700)
The real problem is not whether machines think but whether men do.
B. F. Skinner (1904 1990)
Databases are intended to perform an abstraction from the application space to the data. However, despite the abstraction, as an industry we have yet to completely shield the database designer from the nuances of system design. It remains the case that to build a high-quality database system with good performance, longevity, and availability, the designers need a reasonable understanding of systems architecture and recovery strategies. In fact the range of systems issues that database designers need to understand is profound: multiprocessor servers, disk systems, network topologies, disaster-recovery techniques, performance models, and memory management. This is a broad space that realistically deserves a few books of its own. However, a book on database design would be incomplete without at least a summary discussion of the issues. The good news is that instead of buying another book, you ll now get a crash course on the issues here in a single chapter. The bad news is that this treatment can t possibly be sufficient. What follows is an attempt to strike the right balance between the need of the database designer to understand the systems issues relating to database design, and a careful balancing act to manage this information into a single condensed chapter. If you were hoping to read this chapter and become a guru in systems...