GT 6422 (OMSCS)

Database System Implementation

Homepage

Course Info

This course is a hands-on introduction to the design and implementation of relational database management systems. We will focus on storage management, indexing, and query execution, with programming assignments that connect core database concepts to working C++ implementations.

Syllabus

Prerequisites

To be successful in this course, students should have the following background:

  • Foundational Computer Systems Courses: Completion of Data Structures and Algorithms (CS 1332) and Computer Systems and Networks (CS 2200) is required. Familiarity with operating systems (CS 3210) and introductory database systems (CS 4400) is recommended.
  • Proficiency in C++: The programming assignments use C++, so you should either be comfortable with C++ or prepared to learn it quickly.
  • Systems Programming Experience: You should be comfortable working with systems-level code and debugging nontrivial software.
  • Problem-Solving Skills: The course requires careful analytical thinking and a willingness to work through complex implementation details.
  • Willingness to Learn: We will cover advanced database concepts, so curiosity and steady practice matter.

Educational Objectives

This is the first course in a two-course sequence on designing and implementing database management systems. By the end of this course, you should be able to:

  • Explain the internal architecture of relational database systems.
  • Apply storage management techniques, including slotted pages and memory management.
  • Implement core indexing structures such as B+ trees and hash tables.
  • Understand the foundations of parsing and executing SQL queries.

Throughout this course, we will explore:

  • Introduction to Relational Databases
  • Storage Management
  • Access Paths
  • Query Execution

In the second course in the sequence, we will cover:

  • Logging and Recovery Methods
  • Concurrency Control
  • Query Optimization

Programming Assignments

The programming assignments reinforce the lecture and textbook material using BuzzDB, an educational relational database management system created specifically for this course at Georgia Tech. Through these assignments, you will build and reason about database internals in a practical, hands-on way.

Exercise Sheets and Exams

The exercise sheets and exams will be proctored, closed-book Canvas quizzes. Exercise sheets are useful for preparing for exams with less pressure: they give you practice applying course material before the higher-stakes exams. Questions will be mostly objective or numeric questions, based on the lectures and other course materials.

Textbook

Academic Honesty

All students must follow the Georgia Tech Honor Code. University policies will be followed strictly in this course. Please pay particular attention to the rules on academic misconduct.

Credits

This website is based on a design by Andy Pavlo.