1 CS 5226: Database Administration and Performance Tuning
2 Course Structure Continuous Assessment: 50% –Assignments: 25% –Lab Sessions: 25% Lecturers: –Prof. Ooi Beng Chin (ooibc) –DBAs: Sze Eng Koon and Phillip Lim
3 Text/Reference Books: Dennis Shasha and Phillipe Bonnet: Database Tuning : Principles Experiments and Troubleshooting Techniques. Morgan Kaufmann Publishers (released in June 2002). TEXT. Dennis Shasha: Database tuning : a principled approach. Prentice Hall, REFERENCE (a good reference if cannot get the text book) Database Management Systems, 3 rd edition. Raghu Ramakrishnan & Johannes Gehrke, McGraw-Hill, Hector Garcia-Molina, Jeffrey D. Ullman, and Jennifer Widom: Database Systems -- The Complete Book. Prentice Hall, G. J. Vaidyanatha, K. Deshpande and J. Kostelac: Oracle Performance Tuning 101. Osborne/Mc-Graw-Hill REFERENCE. Jim Gray (ed): The Benchmark handbook : for database and transaction processing systems. M. Kaufmann Publishers, REFERENCE.
4 Copyright: Many slides belong to the tutorial: Database Tuning Principles, Experiments and Troubleshooting Techniques Dennis Shasha Philippe Bonnet And lecture notes provided by Database Management Systems, 3 rd edition. Raghu Ramakrishnan & Johannes Gehrke McGraw-Hill, and some from the web
5 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.
6 Application Programmer (e.g., business analyst, Data architect) Sophisticated Application Programmer (e.g., SAP admin) DBA, Tuner Hardware [Processor(s), Disk(s), Memory] Operating System Concurrency ControlRecovery Storage Subsystem Indexes Query Processor Application
7 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
8 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
9 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
10 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
11 An example: Time = Seek Time + Rotational Delay + Transfer Time + Other Rule ofRandom I/O: Expensive Thumb Sequential I/O: Much less Ex:1 KB Block »Random I/O: 20 ms. »Sequential I/O: 1 ms.
12 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?
13 Tuning Principles Be prepared for trade-offs Ex. Indices
14 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