The topics covered include:
- Out-of-core algorithms and query processing
- Disk space management
- Buffer pool management
- Data structures for out-of-core data (B+ trees, etc. )
- Query optimization
- Concurrency control and recovery
- Distributed data management
The above topics are going to be partially covered in the lectures; however, to get a full understanding of the topics, you will have to do the readings. The readings will include chapters from a prescribed textbook as well as research papers.
Prior knowledge assumed
We assume that you have taken COMS4037, have a good knowledge of algorithms and data structures, and can program in a low-level language, such as C or C++.
dmitry.shkatov -AT- wits.ac.za
Office: MSB 105
Office hours: TBD
Lecture scheduleTue 10:15 -- 12:00 in MSL111
For the schedule of lab sessions and tutorials, consult the School notice board.
GradingMidterm exam -- 20%
Homeworks -- 40%
Final exam -- 40%
HomeworksHomeworks will be assigned on a regular basis. All homework assignments will be submitted through the course's GitHub page. Instructions for submission of homework assignments can be found here.
ExamThe course concludes with a final closed-book exam.
Raghu Ramakrishnan and Johannes Gehrke. Database Management Systems. 3rd edition. (R&G) (available from Van Schaik at Matrix and the library)
Hector Garcia-Molina, Jeffrey D. Ullman, and Jennnifer Widom. Databases systems: The complete book. 2nd edition. (available from the library) (G&U&W)
You will be using Linux machines in the Mathematical Sciences labs. The machines will be equipped with all the software needed for the course.