* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Download TCSS 564 - DATABASE SYSTEMS INTERNALS SYLLABUS
Survey
Document related concepts
Encyclopedia of World Problems and Human Potential wikipedia , lookup
Commitment ordering wikipedia , lookup
Microsoft Access wikipedia , lookup
Entity–attribute–value model wikipedia , lookup
Oracle Database wikipedia , lookup
Serializability wikipedia , lookup
Extensible Storage Engine wikipedia , lookup
Ingres (database) wikipedia , lookup
Functional Database Model wikipedia , lookup
Microsoft SQL Server wikipedia , lookup
Open Database Connectivity wikipedia , lookup
Versant Object Database wikipedia , lookup
Microsoft Jet Database Engine wikipedia , lookup
Relational model wikipedia , lookup
Concurrency control wikipedia , lookup
Database model wikipedia , lookup
Transcript
TCSS 564 - DATABASE SYSTEMS INTERNALS SYLLABUS Catalog Description Covers the internals of a database system and the principles of building a database engine, , including buffer management, query execution and optimization, and transaction management. Provides hands-on experience on the internals of one of the commercial database management systems as a case study. Prerequisites: TCSS 343 and TCSS 445. Prerequisites • TCSS 343 and TCSS 445. Preconditions • • • Proficiency in basic database system design and understanding of basic database system implementation techniques. Ability to write SQL statements is required. Prior experience with programming languages such as C/C++/C#/Java. Students with no programming experience should not take this course. Student Learning Goals Upon successful completion of this course, students will be able to: • • • • Explain the internals of database systems. Develop algorithms inside a database engine. Analyze the query plan generation of database systems. Work with the internals of a commercial database system, e.g., Microsoft SQL Server. Topics Covered - DBMS Architecture Data storage Buffer Management Indexing Query Execution Query Optimization Transaction Management (Concurrency Control and Recovery ) Parallel and Distributed Databases Data Streaming A case study of a commercial database management system 1 Additional Information This course is an advanced level computer science elective in database systems. The course studies the internals of a database system and explores key topics in database research. The course also gives a hands-on experience on the internals of one of the commercial database management systems (DBMSs) as a case study. The objective of the course is to give the student a first step towards a career in database systems programming. It also broadens the scope of the student in core database research. The topics in this course include (but are not limited to) data storage, buffer management, query processing, query optimization, transaction management, recovery and concurrency control, and data streaming. We will dive into the internals of Microsoft SQL Server as an example commercial database management system. Getting ready for the BIG DATA wave, this course covers the basics and the principles of building a database engine. Familiarity with using database systems is expected. Readings Textbook : “Database Systems: The Complete Book”, H. Garcia-Molina, J.D. Ullman, and J. Widom; Prentice Hall, 2008 The instructor(s) will provide additional textbook and reading materials. Grading Policies Grading will be based on 2 in-class quizzes (15% each), 1 in class presentation (30% each), 1 final project (30%), and in-class participation (10%). 2 Schedule Week Topic 1 DBMS Architecture Readings - Textbook chapter 1 - Anatomy of a Database System, J. M. Hellerstein and M. Stonebraker 2 Data storage Buffer Management Textbook chapter 11 3 Indexing Textbook chapter 13 4 Query Execution Textbook chapter 15 5 Query Optimization - Textbook chapter 16 - Query Optimization, Y. E. Ioannidis. http://www.cs.uoi.gr/~pitoura/grdb01/ioannidis.pdf 6 Transactions: Concurrency Control Textbook chapter 18 7 Transactions: Recovery Textbook chapter 17 8 Parallel and Distributed Databases - Textbook chapter 19 - Parallel Query Execution in SQL Server, C. Freedman 9 Data Streaming - An Introduction to Data Streams; Data Streams: Models and Algorithms, C. C. Aggarwal - Consistent Streaming Through Time: A Vision for Event Stream Processing , R. S. Barga, J. Goldstein, M. H. Ali, M. Hong 10 Course wrap-up and a Quiz 3 Class Etiquette: Come prepared to the class in the following manner: read the assigned reading several days prior to the session on that topic. Each student will be expected to come to class with a set of questions. During the instructor led session or a guest lecture, the session will begin with a short talk on the topic. Enough time will be given for Q&A and discussion. During the student led session, the student will first give a 30 minute talk on the topic under review. The rest of the time we will engage in class discussion and Q & A. During the demo days, you will each come prepared with your presentation. The presentations must be on PowerPoint and must be uploaded at least 24 hours prior to the session so that the instructor can review them and combine them into one deck to facilitate smooth churn of presentations. Failure to use the template or timely uploads will result in automatic penalty resulting in a loss of that component of the grade. Guest lectures will be invited. If you have suggestions for guest lecturers you can email the instructor about them. Maintain a sense of decorum and respect for the guest speaker. They are providing a valuable volunteer service by giving us the benefit of their expertise. We can make their visit meaningful for them only if we have read about the topic and come prepared to hear them. We can demonstrate our preparedness by asking meaningful questions that advance their research interests. Hence, be extra careful in designing your questions for these days. Give these papers extra attention. All assignments are uploaded to Canvas prior to start of class. Failure to upload assignments on time will result in automatic denial of grade for that work. To keep the grading process on time, extensions are not available and should not be requested. Additional Material for Writing Support: You may choose current significant (science- or technology-related where applicable) news stories from the press to support your writing. Provide full bibliographic information for each story in APA style. In-Class Conduct: It is sometimes useful to distance ourselves from technology to obtain an environment of quality in-class discussion. Hence, kindly minimize the use of personal laptop computers in the classroom unless appropriate. Please turn off all cell-phones and PDAs. If placed on vibrate mode, please ensure that the ‘buzz’ does not disturb your neighbors during the sessions. Please bring a pen (black or blue) and a writing pad to class to take notes. Bibliographic Style Use APA Style for bibliographic references and citations in everything that you write. Make sure to use the special format for electronic references. Project Related Class Presentations As part of this course you will present your thoughts on the area of extension of the project that you are working on in the class as a presentation of about 30-40 minutes. Unless otherwise specified, you will have one minute to set up, five-seven minutes to introduce your topic, ten minutes to 4 explain your contribution and 3-5 minutes to talk about related work and results. At the end of the presentation, we will take a short break and then begin the discussion. You must use illustrations, related articles, and make Microsoft PowerPoint slides for your presentation. Grading Scheme: Small adjustments to grade weights can be made, or small assignments can be added as the need arises. Item % of final grade In-class Presentation Project In-class participation Two Quizzes 30% 30% 10% 30% Grading will not be on a curve. It’s a challenging course and you will get an A if you perform well on the projects and the weekly readings, be active in discussions and think like a database developer. Grading Policy Details: Project Grading: The project will involve writing T-SQL Scripts against the Microsoft SQL Server. The scripts will perform the tasks that will be discussed in class. The SQL Script will include statements that INSERT/UPDATE/QUERY tables in a SQL Server database. The script will show your understanding of how a database engine executes various queries under the cover. Inline documentation in the script is required to show your understanding of how the queries are being optimized and executed by the database engine. The project will be graded as follows: 4 points: All requirements are met on time. Implementation is submitted to Canvas. Program/script runs successfully. 3 points: All the above except a few deliverables/results are missing. 2 points: Several deliverables are missing. Project documentation and results are partial but submitted. 1 point: Most deliverables are missing. Program/script did not run successfully. 0 points: Failed to submit. Class Presentation: 4 points: Clearly explained concepts. Adequately pitched. Examples and figures are accurate and relevant. Started on time and ended on time. Slides made available on time to the class. 3 points: Some mistakes. Inadequate depth/rigor. 5 2 points: Major flaws in understanding and explaining the concept. No relevant examples/figures. 1 point: Unclear communication, lack of depth/effort, no attempt to explain the concepts. 0 points: Failure to present. In-class discussion and participation: Please notify the instructor if you have a reasonable excuse to miss the class. The following items are counted toward your in-class participation grade: - Preparation and sharing meaningful questions during class. Participation and initiation of interesting in-class discussions. Participation in online discussion forums. 3 points: Actively contributed to all or most sessions, went out of your way for enriching the class experience and helped others in projects and discussions. 2 points: All the above except for lesser contribution. 1 point: Some/irregular participation. 0 point: Irregular or no participation/interaction. Quiz: Here is a description of roughly what each numeric score means for the Quiz. The Quiz will most probably address a design problem of one of the database systems internal components. The instructor will look for the following: • • • • • 4: All main concepts and skills mastered and all questions are relevant (or problems solved), with at most minor misconceptions or errors. Your writing is grammatical, well organized. 3: Minor misconceptions/errors or incompleteness, minor problems with written organization or grammar, competent application of the ideas discussed in class and in reading, mostly clear understanding that is adequately argued from readings but which might have minor flaws in the chain of reasoning.. 2: One or more of the main concepts has not been mastered in one or more of the questions or relevant issues are missing. Problems with written organization and grammar, spotty application of course ideas, problems with your chain of reasoning. 1: Significant misconceptions and/or incompleteness. Significant problems with grammar or organization, poorly expressed thesis and chain of reasoning. 0: Didn't hand in, or little evidence that any of the main concepts and skills have been mastered. Significant problems with writing, lack of thesis and chain of reasoning. 6