CS 487/587 Database Management Systems Implementation
Credit Hours:
4/3
Course Coordinator:
Not currently offered
Course Description:
Internal design of a relational database management system. Concurrency control; lock managers; crash recovery; query and operator evaluation; query optimization; storage management; index structures; system catalogs.
Prerequisites:
CS 486 and CS 333
Goals:
Upon the successful completion of this class, students will be able to:
- Indexing methods used in modern relational databases (RDBMSs), how they work, and what the key trade-offs are in selecting them appropriately
- How disk and file structures are used in RDBMSs
- External (out-of-memory) sorting mechanisms
- How relational operators are evaluated
- Query optimization, and how to manually optimize query plans
- Concurrency control systems for RDBMSs
- Crash recovery mechanisms
- Implement selected portions of a relational database management system.
- Understand select new developments in database management technology.
Major Topics:
- Database index structures (tree- and hash-based) and their management
- Disk drive hardware characteristics and implications for disk access performance
- File structures on disk
- Sorting large files using “out-of-memory” techniques
- Evaluation techniques and implementation algorithms for relational algebra operators
- Database concurrency control management
- Query optimization techniques, real-world approaches to optimization, and how to limit the scope of eligible query plans
- Database crash recovery and transaction abort mechanisms
- Parallel and distributed database architectures