Homework, Projects & Handouts
Homework
Homeworks will be submitted online via Gradescope.
Projects
The goal for the project is to create a simple database application that supports query operation over a relation. The project consists in three parts. In each part you are asked to implement the backend of the application in a different way (filesystem, in-memory data structures and a embedded database).
The goal of this project is to implement a simplified version of a Buffer Manager layer, without support of concurrency control or recovery. This project is based on Minibase, a small relational DBMS, structured in several layers.
[handout] [files] [PSO Slides]
The goal of this project is to implement Relational Algebra Operators using the Iterator interface inside a working database system. This project is based on Minibase, a small relational DBMS, structured in several layers.
[handout] [files] [PSO Slides] [PSO Lecture (Solaiman)]
The goal of this project is to implement a simplified version of the 2PL protocol used to handle concurrent operations (e.g., transactions). The implementation should prevent deadlocks and handling them properly. The project will give you some practical experience about Chapter 20 (Intro to Transaction Processing Concepts and Theory), 21 (Concurrency Control Techniques) and 22 (Database Recovery Techniques) from the Textbook.
Guest Lecture
Dr. Melli Annamalai gave guest lecture on Big Data. You can view it [link]
Big Data
MLOS [link]
Other Handouts
Data Cleaning
Implementation
Secure data warehouse & Privacy Preserving Data Dissemination
Concurrency Control Handouts
Cloud Computing
Reading Material
NoSQL and Big Data
Relational Algebra, Normalization and SQL
MongoDB
Notes from CS641 Multimedia Database Systems
Other