A course about the foundations of database systems, focusing on basics such as the relational algebra and data model, schema normalization, query optimization, transactions, and other more advanced topics.
Important
The code here is offered as a learning aid to help you build intuition and see one possible way of solving the problem. Readers are strongly encouraged to engage actively with the material and develop their own independent implementations.
My completed projects at a glance:
| # | Title | Description | Tags |
|---|---|---|---|
| 1 | Storage & Buffer Management | The engine moves data between disk and memory, organizes that data within fixed-size pages, and provides an interface for higher-level operators to read and write tuples. | Buffer Pool, Table Heap |
| 2 | Query Execution | Build the Execution Engine consists of the core data processing logic of a database system. | Volcano Iterator Model, Indexing, Access Method, Join |
| 3 | Transactions & Concurrency Control | Transform GoDB from a single-threaded query execution engine into a full transactional database system | Strong Strict Two-Phase Locking, Multiple granularity locking, Write-ahead Logging, Transaction Manager |
My paper writeups at a glance:

