You are on page 1of 14

CS 5226: Database

Administration and Performance


Tuning

1
Course Structure
• Continuous Assessment: 50%
– Assignments: 25%
– Lab Sessions: 25%
• Lecturers:
– Prof. Ooi Beng Chin (ooibc)
– DBAs: Sze Eng Koon and Phillip Lim

2
Text/Reference Books:
• Dennis Shasha and Phillipe Bonnet: Database Tuning : Principles
Experiments and Troubleshooting Techniques. Morgan Kaufmann
Publishers. 2002 (released in June 2002). TEXT.
• Dennis Shasha: Database tuning : a principled approach. Prentice Hall,
1992. REFERENCE (a good reference if cannot get the text book)
• Database Management Systems, 3rd edition. Raghu Ramakrishnan &
Johannes Gehrke, McGraw-Hill, 2002.
• Hector Garcia-Molina, Jeffrey D. Ullman, and Jennifer Widom:
Database Systems -- The Complete Book. Prentice Hall, 2001.
• G. J. Vaidyanatha, K. Deshpande and J. Kostelac: Oracle Performance
Tuning 101. Osborne/Mc-Graw-Hill. 2001. REFERENCE.
• Jim Gray (ed): The Benchmark handbook : for database and
transaction processing systems. M. Kaufmann Publishers, 1991.
REFERENCE.

3
Copyright:
Many slides belong to the tutorial:
Database Tuning
Principles, Experiments and Troubleshooting Techniques
Dennis Shasha (shasha@cs.nyu.edu)
Philippe Bonnet (bonnet@diku.dk)

And lecture notes provided by


Database Management Systems, 3rd edition.
Raghu Ramakrishnan & Johannes Gehrke
McGraw-Hill, 2002.

and some from the web …

4
Database Tuning
Database Tuning is the activity of making a
database application run more quickly.
“More quickly” usually means higher
throughput, though it may mean lower
response time for time-critical applications.

5
Application
Programmer
(e.g., business analyst,
Data architect)

Application

Sophisticated
Application Query Processor
Programmer
(e.g., SAP admin)
Indexes Storage Subsystem

Concurrency Control Recovery


DBA,
Tuner
Operating System

Hardware
[Processor(s), Disk(s), Memory] 6
Goals of the Course
• Appreciation of DBMS architecture
• Study the effect of various components on
the performance of the systems
• Tuning principles
• Troubleshooting techniques for chasing
down performance problems
• Hands-on experience in Tuning
7
Contents
1. Basic Principles
2. Tuning the guts
3. Indexes
4. Relational Systems
5. Application Interface
6. E-commerce Applications
7. Data warehouse Applications
8. Distributed Applications
9. Troubleshooting
8
Tuning Principles
• Think globally, fix locally
– Localizing the problems
• Partitioning breaks bottlenecks (temporal and spatial)
– ONE part of the system limits the the overall performance
– Two approaches:
• Fix locally
• Partitioning the LOAD
– eg. Free list, lock contention due to long transactions

• Partitioning in space/logical resources/time

9
Tuning Principles
• Start-up costs are high; running costs are
low
– Start-up costs include
• Disk access
• Data transfer
• Query processing
• System calls
– Reduce the number of start-ups

10
An example:

Time = Seek Time +


Rotational Delay +
Transfer Time +
Other
Rule of Random I/O: Expensive
Thumb Sequential I/O: Much less
• Ex:1 KB Block
» Random I/O:  20 ms.
» Sequential I/O:  1 ms.
11
Tuning Principles
• Render onto server what is due onto Server
– Task allocation between the server and the
application programs
– Factors:
• Relative computing resources of client, application
servers and data server
– Should checking be done in the middle tier?
• Location of information
• The nature of tasks: interaction with screen?
12
Tuning Principles
• Be prepared for trade-offs
• Ex. Indices

13
Tuning Mindset
1. Set reasonable performance tuning goals
2. Measure and document current performance
3. Identify current system performance bottleneck
4. Identify current OS bottleneck
5. Tune the required components eg: application, DB,
I/O, contention, OS etc
6. Track and exercise change-control procedures
7. Measure and document current performance
8. Repeat step 3 through 7 until the goal is met

14

You might also like