Databases Reference
In-Depth Information
Best Practices for
Designing for Performance
from the Start
Not many architects start software projects to create applications to sit on shelves unused, but that
can be the reality if the product doesn't meet user expectations. If performance is required in an
application, you should approach the project with performance in mind from the start. Too often,
the DBA resources are brought in at the end of the design, or worse, at the end of the development
process to figure out how to speed things up. To prepare for database-level performance issues,
you absolutely have to understand how the application works and how the database resources are
going to be used. In new agile development processes, we see database designers and developers
being added to development teams. This is a good thing. If you are a developer, add SQL Server
performance skills to your toolset. It takes these two skill sets together to implement successful,
high-performance projects.
Performance problems are usually caused by contention for common resources. Disk heads can
only move to so many places at one time. Only so many pages and procedures can be cached in
one moment. The more information you have about the system, the better performance tuning deci-
sions you'll be able to make. This chapter is designed for the DBA who is pulled into a development
project before or perhaps after the physical model has already been formalized. Yet it's still early
enough for the DBA to have a hand in troubleshooting the design and capturing some important
predicative metrics prior to going to production. You'll be provided guidance on how to capture
performance requirements and then use this information to evaluate existing design decisions.
You'll also be provided with detailed TSQL queries and a benchmark data model that you can use to
tie performance requirements to actual metrics. As you break down the main performance concerns
you'll enter this information into the benchmark data model to use in future communication. Cre-
ating high performance databases starts with understanding these performance requirements and
applying common sense, but it is even more important to communicate these issues to developers,
project managers, and users in a language that everyone can understand.
Search WWH ::




Custom Search