Download TCSS 564 - DATABASE SYSTEMS INTERNALS SYLLABUS

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts

Encyclopedia of World Problems and Human Potential wikipedia , lookup

Commitment ordering wikipedia , lookup

IMDb wikipedia , lookup

Microsoft Access wikipedia , lookup

Entity–attribute–value model wikipedia , lookup

Oracle Database wikipedia , lookup

Serializability wikipedia , lookup

Extensible Storage Engine wikipedia , lookup

SQL wikipedia , lookup

Ingres (database) wikipedia , lookup

PL/SQL wikipedia , lookup

Functional Database Model wikipedia , lookup

Microsoft SQL Server wikipedia , lookup

Open Database Connectivity wikipedia , lookup

Database 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

Clusterpoint wikipedia , lookup

ContactPoint 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