GRS CS 660

Graduate Introduction to Database Systems


Syllabus    Homeworks    Projects    Labs    Announcements

Class at a Glance

Class: Tue/Thu 12:30-1:45pm, CAS 313
Instructor: Manos Athanassoulis 

Manos OH: Tue 10-11am & Thu 2-3pm
Manos OH Location: CDS 928

Labs: Fri 12:20-1:10pm, HAR 211 / 1:25-2:15pm, PSY B35
TFs: Kostas Karatsenidis ,   Aneesh Raman ,   Zichen Zhu  

TFs' OH Details: Check on Piazza
Discussions on: Piazza / Notes / Gradescope

Announcements

Class Schedule

Here you can find the tentative schedule of the class (which might change as the semester progresses). The textbook we use is also referred to as the "cow book" (see more details in the syllabus). Note that by we refer to the textbook, by to additional readings, and by to other links.

The slides will be uploaded here after each class, but they cannot be used as a replacement of the lectures, and will not be sufficient on their own. Some lectures might deviate from the textbook (in presentation, order, and content). Hence, attendance during the lecturing and during the class discussion is mandatory and an integral part of the class.

Class Details
Topic
Readings

Class

Introduction

Class

Database Systems Architectures
  • Slides
  • Chapters 1, 2, 3
  • Chapter 1

Class

SQL I

Class

SQL II

Class

File Organization & Introduction to Indexing
  • Slides
  • Chapter 8 & 9.1, 9.5-9.7
  • Sections 1, 2, 3, 4

Class

Storage Layer
  • Slides
  • Chapter 9.1-9.4
  • Sections 1, 2, 3, 4
  • Sections 1, 2, 3

Class

Indexing with B+ Trees
  • Slides
  • Chapter 10.1, 10.3-10.8

Class

Hash-Based Indexing

Class

External Sorting

Class

Log-Structured Merge Trees

Class

Bitmap Indexing
  • Slides
  • Sections 1, 2.1
  • Abstract
  • Sections 1, 2, 3
  • Sections 1, 2, 3

Class

Review

External Guest Lecture

Systems Design Dilemmas: Simplicity Versus Complexity
Speaker: C Mohan, IBM Fellow

Midterm

You can bring with you one page (one sheet one side) of any notes you want. No more material will be available. No laptops, tablets or phones are allowed. Please come 2-3 minutes prior to the top of the hour to start sharp at 12:30pm.

Class

Relational Algebra
  • Slides
  • Chapter 4.1, 4.2
  • Class

    Query Processing with Relational Operators

    Class

    Joins I: Nested-Loop & Sort-Merge Joins
    • Notes
    • Chapter 14.4.1-14.4.2

    Class

    Joins II: Hash Joins & Remaining Relational Operators
    • Notes
    • Chapter 14.4.3-14.4.4, 14.6-14.7

    Class

    Query Optimization

    Class

    Query Optimization (cont'd)
    • Chapter 15

    Class

    Overview of Transaction Management

    Class

    Concurrency Control

    Class

    Other Forms of Concurrency Control (Timestamp-Based, Multi-version, and Optimistic)

    Class

    Recovery

    Class : Guest Lecture

    LeanStore: A High-Performance Storage Engine for NVMe SSDs and Multi-Core CPUs
    Speaker: Viktor Leis, TU Munich

    Class : Guest Lecture

    Building Systems That Protect Users and Their Data
    Speaker: Johes Bater, Tufts University

    Class

    Recovery (cont'd), NoSQL, and Topics

    Class

    Final Review