As DBAs, we can get mired in the depths of performance tuning parameters and scripts, sometimes getting lost in all the details. It is a good idea to always have a set of goals and philosophies that you can lean on to keep you focused and working on the appropriate things. That is what I want to talk about in this month’s DBA Corner column. Here are six high-level rules of thumb for achieving your DBMS-related performance goals and maintaining your sanity.
DBMS-Related Performance Goals
1-The first thing to keep in mind is do not overtune. Most DBAs are more than happy to roll up their sleeves and get their hands dirty with the minute technical details of the DBMS. Sometimes this is required. However, as a DBA, you should always keep in mind the business objectives of the databases and applications you manage. It is wise to manage performance based on the expectations and budget of the business users. Even though it might be an interesting intellectual challenge for you to fine-tune a query to its best performance, doing so may take too much time away from your other duties. It is best to stop tuning when performance reaches a predefined service level for which the business users are willing to pay.
2-Another golden rule is to always remain focused. As a DBA, you should understand the goal for each task you perform and remain focused on it. This is important because the DBMS is complex, and when you are tuning one area you might find problems in another. If so, it is best to document what you found for later and continue with the tuning task at hand. If you instead jump around trying to tune multiple things at once, you will have no idea of each task’s impact on the environment.
3-The next piece of advice might come from the Hitchhiker’s Guide to the Galaxy but it applies to database administration, too: Do not panic. DBAs are expected to know everything about the DBMS they manage. However, this is an unreasonable expectation. “I don’t know, but I’ll find out” is one of the most important sentences in your communications arsenal. A good DBA knows where to look for answers and whom to call for help.
4-Help others to help themselves. It is not uncommon for developers to seek out the DBA with questions about problems, errors, and just about anything having to do with database management. This is not an unreasonable thing because the DBA is usually the most senior and knowledgeable person in the organization with regard to database issues. However, many times simpler questions can be resolved with a simple internet search. Don’t be afraid to push people away (at times) by asking “Did you Google that before you came here?” or “What did that manual have to say about that?”
5-Communication is key to assuring properly tuned, high-performance database systems so be sure that you always Communicate clearly. The DBA must be at the center of communications reagarding all things database. This means coordinating discussions and workload among the business users, programmers, managers, and other systems personnel. Furthermore, the world of IT in general, and database technology in particular, sometimes uses a language all its own. Many similar and confusing terms are thrown about, and folks are expected to understand what they mean. Be sure to clearly define even basic terms so that you’re all speaking the same language.
6-Accept reality. Many organizations talk about being proactive but in reality have very little interest in stopping performance problems before they happen. Yet, every organization is interested in fixing performance problems after the problems occur. This can be a frustrating environment for the DBA, who would rather set up preventive maintenance for the DBMS environment. Alas, this requires budget, time, and effort—all of which are in short supply for strapped IT organizations. As a DBA, you must sometimes be content to accept reality and deal with problems as they occur—even when you know there are better ways of tackling performance management.
Performance is Paramount
Applications that access relational databases are only as good as the performance they achieve. The wise organization will implement a comprehensive performance monitoring, tuning, and management environment consisting of policies, procedures, and integrated performance management tools and utilities. And, wise DBAs will work within the structure and environment available to them.