* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Download Teaching Scheme Business Information Technology/Software
Microsoft SQL Server wikipedia , lookup
Entity–attribute–value model wikipedia , lookup
Serializability wikipedia , lookup
Encyclopedia of World Problems and Human Potential wikipedia , lookup
Open Database Connectivity wikipedia , lookup
Ingres (database) wikipedia , lookup
Functional Database Model wikipedia , lookup
Extensible Storage Engine wikipedia , lookup
Microsoft Jet Database Engine wikipedia , lookup
Versant Object Database wikipedia , lookup
Oracle Database wikipedia , lookup
Relational model wikipedia , lookup
Concurrency control wikipedia , lookup
ContactPoint wikipedia , lookup
Teaching Scheme Business Information Technology/Software Engineering Management Advanced Databases Level : 4 Year : 2003–2004 Jim Craven ([email protected]) Stephen Mc Kearney ([email protected]) Melanie Coles ([email protected]) Autumn Term Week Lecture Seminar 29/9 6/10 Induction Week Project Week (No Lecture)(JC) This lecture is cancelled for project week. 13/10 Database Performance Issues(JC) This lecture introduces the theme of optimising the performance of a relational database system. When do performance issues arise in the database development process? How should performance issues be approached? What areas should be considered first when tuning a database.? What are the constraints? Reading: Ensor(Chapter 2), Corrigan Service Time(SMcK) Lecture review - Service time This lecture discusses the techniques to read/write data on a This seminar will review some of the disc. How is data read from or written to a disc? What are lecture examples and work through the main parts of the read/write process? How much time some exercises. We will also study does it take to read information from a disc? What factors some aspects of Oracle that are affect the speed of a disc? How may disc performance be affected by the service time and improved? How can the speed of a disc be calculated? methods of measuring database Reading: Elmasri(Appendix B) performance. B+-Tree Indexing 1(SMcK) Oracle — Controlling storage This lecture discusses a popular type of index structure. Why parameters is an index necessary? What is a multi-level index? What is This class will investigate Oracle’s a B+-Tree index? How is an index searched? How is data storage structures and methods of inserted into or deleted from a B+-Tree index? How big does adjusting the storage parameters in a B+-Tree get? What are the important properties of a Oracle. One of the purposes of this B+-Tree? class is to help you prepare for the Reading: Elmasri(Section 5.3), Silberschatz(Section 8.3), assignment. Knuth(Pages 473–479), Connolly(Appendix C.5.5) B+-Tree Indexing 2(SMcK) Lecture Review - B+-tree Indexing This is the second part of the lecture B+-Tree Indexing 1. This class will review the B+-tree structure introduced in B+-Tree Indexing 1. We will investigate methods of modelling and measuring B+-tree performance. Query Processing 1 (JC) Loading data in Oracle — SQL This lecture considers altenative strategies for joining Loader relational tables. The role and nature of the optimiser. What We will review techniques for are inner and outer joins? What is the basic operation for generating and loading data into table joins? In a multi table join, can the order of the joins databases. This class is intended to speed up the processing? What other Features/ processing help you prepare for the assignment. can speed up the join operation? What constraints need to be 20/10 27/10 3/11 10/11 L/O Oracle environment structure and 4 documentation This class will look at the structure of Oracle and how an Oracle database stores data. We will also look at the documentation provided with Oracle. 1,2,4 The Data Dictionary We will look at the structure of a data dictionary and investigate some of the uses that may be made of the information contained in the dictionary. 2 1,2,4 1,4 1,2,4 17/11 24/11 1/12 8/12 considered? Why is selectivity an important consideration? Reading: Elmasri(Chapter 15), Silberschatz(Chapter 12), Corrigan(Chapter 6), Connolly(Chapter 20) Query Processing 2(JC) Lecture review — Query processing This is the second lecture on join strategies and considers This class will review examples based particular strategies and their associated costs. What are the on the lecture on query processing. processing differences between simple, block and indexed nested loop joins? How do sort-merge and hash joins work? What are their relative advantages? Reading: Elmasri(Chapter 15), Silberschatz(Chapter 12), Corrigan(Chapter 6), Connolly(Chapter 20) Query Processing 3(JC) Lecture review — Query processing This completes the lectures on query processing. The effects This class will review examples based of selectivity on the choice of strategy. How can a cost on the lecture on query processing. function be constructed? Introduction to the assignment. Reading: Elmasri(Chapter 15), Jain(Chapters 1–3) Clustering(SMcK) Oracle — Timing Queries This lecture describes clustering and how it is used to build This class look at different techniques databases. What is clustering? Why is clustering necessary? for measuring the performance of What types of clustering are possible? What are the database queries. advantages and disadvantages of clustering? What applications require clustering? How does Oracle cluster data? How does clustering compare to B+-Trees? Reading: Oracle Concepts(Pages 5-23 – 5-27) Denormalisation(SMcK) Lecture Review — Clustering and This lecture describes a process called denormalisation that is Denormalisation used to improve the performance of databases. What is This class will review the lectures. denormalisation? Why is denormalisation necessary? What alternatives methods could be used? What is the difference between normalised, unnormalised and denormalised? How is a database denormalised? Reading: Corrigan(Chapter 5, page 69) 1,4 1,2,4 1,2 1 Spring Term Week Lecture Seminar 5/1 2,3 Oracle — Investigating query execution This class shall investigate techniques for analysing query execution and performance. We will use the tools available in Oracle to illustrate each technique. 12/1 19/1 Distributed Databases 1(JC) This lecture describes the concept and the features of distributed database systems. What are the needs for a distributed database environment? What are the features of a DDBMS? What models and platforms support distributed databases? What are the alternatives to a distributed database? What are the advantages and disadvantages of distributed databases? Schema architecture for a DDBMS. Reading: Bell(Chapters 1, 2 and 3), Date(Chapter 20), Ozsu(Chapter 1 and 4), Elmasri(Chapter 25), Connolly(Chapter 22 and 23) Distributed Databases 2(JC) This lecture considers the design and implementation issues for distributed databases. What determines where the data is stored? When should replication and fragmentation be used? What are the various data storage models, their relative strengths and weaknesses? How can concurrency be controlled? How can the integrity of the database be assured? What other management issues should be considered in a DDBMS environment? Reading: Bell(Chapters 4, 6, 7 and 8), Silberschatz(Chapter 19), Ozsu(Chapter 5 and 11), Connolly(Chapter 22 and 23) Distributed Databases 3(JC) This lecture appraises alternative strategies for query processing in a distributed database environment. Why is L/O Lecture Review — Distributed Databases This class will review the lecture. 3 Lecture Review — Distributed Query Processing This class will review the lecture. 3 26/1 2/2 9/2 16/2 23/2 1/3 8/3 15/3 22/3 query optimisation particularly important in a DDB environment? What are the alternative ways of joining distibuted tables? How does a semi-join work? Reading: Bell(Chapter 5), Silberschatz(Chapter 19), Ozsu(Chapter 7, 8 and 9), Connolly(Chapter 22 and 23) Extendible Hashing 1(SMcK) Lecture Review — Extendible This lecture describes a new type of hashing. What is static Hashing hashing? What are the problems with static hashing? How This class shall review the Extendible can extendible hashing solve these problems? What are the Hashing index that was introduced in main components of an extendible hashing index? How is an the lecture. We shall compare the extendible hashing index searched? How is data inserted into performance of the Extendible or deleted from an extendible hashing index? What are the Hashing index against the B+-tree. advantages and disadvantages of an extendible hashing index? Reading: Silberschatz(Sections 8.5–8.7), Elmasri(Section 4.8) Extendible Hashing 2(SMcK) Lecture Review — Extendible This is the second part of the lecture Extendible Hashing 1. Hashing This class will review the lecture. Comparison — B+-Trees, Hashing, Clustering, Lecture Review Denormalisation(SMcK) This class will review the lecture. This lecture presents a comparison of different methods of improving the performance of a database. Scenarios are presented that demonstrate which techniques are best suited to which problems. What are the advantages and disadvantages of each technique? How is a particular method selected? DBMS Resources - External Storage and Buffer Resource scheduling Management(JC) CPU time allocation, disk and buffer This lecture compares and contrasts buffer management management. Oracle internals. policies and the various physical storage media available for supporting database operations. What is the extended storage hierarchy? What are the characteristics of the various media? What features and constraints affect performance? Can performance be improved ? Reading: Silberschatz(Chapters 11), Elmasri(Chapter 13) Project Week DBMS Resources - Parallelism (JC) Lecture Review This lecture considers parallel processing arrangements. This class will review the lecture. What are the main parallel database architectures? What are their relative advantages and disadvantages? The cost of parallel processing. I/O parallelism. RAID storage. What parallel features are supported by a typical dbms(eg Oracle). When is their use appropriate? Reading: Silberschatz(Chapters 18 and 20), Ozsu(Chapter 13) Multi-Attribute Indexing 1(SMcK) Lecture Review This lecture studies multi-attribute index structures. What is This class will review the lecture. a multi-attribute index? What is the difference between a multi-attribute index and a single attribute index such as a B+-Tree? What types of query can a multi-attribute index be used to answer? What problems exist when creating a multi-attribute index? What types of multi-attribute exist? Reading: Silberschatz(Section 8.9) Multi-Attribute Indexing 2(SMcK) Lecture Review This is the second part of the lecture Multi-Attribute Indexing This class will review the lecture. 1. Reading: Silberschatz(Section 8.9) Schema Integration 1(SMcK) Lecture Review This lecture will look at the process of merging two or more This class will review the lecture. databases to great a single database. What is schema integration? Why is schema integration necessary? What problems exist when merging databases? What strategies may be used to merge schemas? What is the process fro 1 1 1,2,4 1 1 1 1 1,4 29/3 merging schemas? Reading: Batini(Chapter 5), Elmasri(Pages 456–460) Revision Lecture(SMcK) Revision Summer Term Week Lecture Seminar 26/4 Revision Lecture(JC) Revision 3/5 Revision Lecture(SMcK) Revision L/O Reading Core • • Elmasri and Navathe, Fundamentals of Database Design, McGraw-Hill, 2003. Silberschatz, Abraham; Korth, Henry F. and Sudarshan S., Database System Concepts, McGraw Hill, 2001. Recommended • • • • • • • • • • • • Ramakrishnan, R., Database Management Systems, McGraw-Hill, 2002. Connolly, Thomas and Begg, Database Systems, A Practical Approach to Design, Implementation and Management, Addison-Wesley, 2002. Date, Chris J, Introduction to Database Systems, Longman Higher Education, 1999. Gurry, Mark and Corrigan, Peter, Oracle Performance Tuning, O’Reilly UK, 1997. Ensor, Dave and Stevenson, Ian, Oracle Design, O’Reilly UK, 1997. Gray, Jim, The Benchmark Handbook, http: //www.benchmarkresources.com/handbook/introduction.asp. Harrison, Guy, Oracle SQL High Performance Tuning, Prentice Hall, 2001. Jain, Raj, The Art of Computer Systems Performance Analysis Techniques for Experimental Design, Measurement, Simulation, and Modeling, John Wiley and Sons, 1991. Bell, David and Grimson, Jane, Distributed Database Systems, Addison-Wesley, 1992. Ozsu, M. Tamer and Valduriez, Patrick, Principles of Distributed Database Systems, Prentice Hall, 1999. Rodgers, Ulka, Denormalisation - Why, What and How? , Database Programming and Design, December, 1989. Batini, C.; Lenzerini, M. and Navathe, S. B., A Comparative Analysis of Methodologies for Database Schema Integration, ACM Computing Surveys, Vol. 18, 4, December, 1986. Learning Outcomes (L/O) 1. Select from a range of extensible and non-extensible databases for a business requirement, as might be demonstrated by contrasting how different database management system features are implemented. 2. Execute and evaluate performance benchmarking as the basis of selection between commercial products, as might be demonstrated by evaluating the performance of a database management system. 3. Act as a DBA for a distributed database, as might be demonstrated by proposing the configuration of a distributed database system. 4. To select from a range of software client-server components that will integrate to form a balanced system as might be demonstrated by proposing a system configuration for a typical database system.