Note: The material of the website is currently updated. Please visit periodically to monitor updates as the beginning of the semester approaches.
Class: Tue/The 11:00am-12:15pm (PSY B39)
Instructor: Manos Athanassoulis
Lab: Fri 1:25-2:15pm (KCB 107)
Teaching Fellow: Teona Bagashvili
Office: CDS 928
Office Hours: Posted on Piazza
Discussion on Piazza / Grades on Gradescope
TF Office Hours: Posted on Piazza
Keep in mind the Official Semester Dates.
Here you can find the tentative schedule of the class (which might change as the semester progresses).
In this class we will discuss the basics of data systems and the goals and structure of the course.
In this class we discuss the fundamental components that comprise a database system. We will see the commonalities and the differences of the main database system architectures and we will discuss why we have several different ones.
In this class we continue discussing data systems architectures and the basics for modern systems focusing on relational row-stores and column-stores.
In this class the students will be introduced to the class semester project. In that process we describe in detail LSM-trees and we highlight open research problems in data management.
Concepts: column-stores, row-stores, vertical partitioning, index-only plans, materialized views, tuple reconstruction, late/early materialization, block iteration, vectorized execution (block iteration), compression (run length encoding), hash joins, index joins, sort-merge joins, invisible joins, star schema
Concepts: key-value stores, point queries, blind updates, read-modify-write, on-line transaction processing (OLTP), on-line analytical processing (OLAP), locality, immutable file, mutable file, append-only systems, in-place updates
In this class the instructor will provide the necessary background to indexing. We will describe the most common design principles and decisions of index structures and provide the background needed for diving into the details of cutting-edge indexing papers.
Concepts: tree indexing, tries, radix, adaptive radix trees
Concepts: adaptive indexing, cracking, stochastic cracking, hybrid cracking, scan, sort and binary search, adaptive adaptive indexing, radix partitioning, TLB, software managed buffers, non-temporal streaming stores, partitioning fanout, skew, adaptive indexing convergence rate, simulated annealing, uniform/normal/zipfian distribution
In this class the instructor will discuss modern hardware trends that drive system and index design with respect to storage, memories, and processing.
Concepts: GPUs
Concepts: query processing, join optimization, instance-optimal algorithms
Concepts: query processing, query evaluation, bit manipulation instructionson, predicate pushdown
Project Presentation - I
Project Presentation - II