Project Showcase

[PRESENTATION] Tile Group Compaction

TileGroup Compaction  ★ Voted Best Project ★

Students: David Gershuni, Matt Butrovich

Enable the DBMS's garbage collector to free empty tile groups and reclaim their memory. It is able to merge sparsely occupied tile groups to save memory.

[PRESENTATION] Self-Driving Infrastructure

Self-Driving Infrastructure

Students: Tianyu Li, Justin Wang, Tianyi Chen

This project aims at implementing the self-driving infrastructure including a stats collection framework and the mechanism to synchronize the catalog between the Peloton engine and Peloton brain. Some use cases including memory stats, access stats, and query latency etc. are implemented and integrated into the framework.

[PRESENTATION] Query Optimizer & Rewriting

Query Optimization & Rewriting

Students: Guoquan Zhao, Pedro Paredes, Qiuwen Kai

Support for outer joins in optimizer side. Addition of cost model oblivious optimizations, namely: constant folding/propagation, transitive predicates propagation and trivial predicate elimination.

[PRESENTATION] Database Compression

Database Compression

Students: Tao Dai, Bohan Zhang, Siyuan Sheng

Added dictionary-based compression for tiles in Peloton with support executing SELECT queries directly on compressed data.

[PRESENTATION] Query Optimizer Cost Model

Query Optimizer Cost Model

Students: Gustavo Angulo, Nathan Appelson

Our project tackled improving the performance and evaluation of the optimizer and cost model. We built a standalone test framework that allows one to test the performance of the optimizer, and improved the cost model estimate for hash joins to better cost different plans.

[PRESENTATION] Index Tuning with Reinforcement Learning

Index Tuning with Reinforcement Learning

Students: Saatvik Shah, Weichen Li

This project works towards two goals: (1) completion of the Tensorflow backend for Peloton with workload forecasting examples and end-to-end testing (2) developing a reinforcement learning framework for online index configuration.



Students: Bowen Deng, Peixin Sun, Kangyan Zhou

This project adds the implementation of Postgres-style sequence to Peloton. It supports nextval and currval functions with session-specific behaviors.


Schema Changes

Students: Shangjie Chen, Shaoxiong Zhang, Shilun Ding

This adds support for blocking schema changes for Add/Drop column, Rename column, and Alter column type. It includes test cases for ALTER TABLE and RENAME operations.

[PRESENTATION] Logging and Recovery

Logging and Recovery

Students: Gandeevan Raghuraman, Anirudh Kanjani, Aaron Tian

Add support for physical write-ahead logging and recovery in Peloton.

[PRESENTATION] Temporary Tables

Temporary Tables

Students: Yangjun Sheng, Yiming Luo, Yijia Cui

The project added temporary tables functionalities in peloton by integrating namespaces with the recently added schema feature in Peloton.

[PRESENTATION] Index Suggestion in Peloton

Index Suggestion in Peloton

Students: Priyatham Bollimpalli, Vamshi Reddy Konagari, Sivaprasad Sudhir

Suggest the best set of indexes for a given workload based on the optimizer cost model. A search based algorithm is used for this which is based on the AutoAdmin paper from Microsoft.


Add/Drop Index

Students: Ziheng Liao, Rong Huang, Xingyu Jin

We added support for add/drop index correctly in Peloton. We implemented both the lock-based version and lock-free version of add index, and enable support for PostgreSQL-style statement CREATE INDEX CONCURRENTLY in Peloton.

[PRESENTATION] Pre-compiled Catalog Queries

Pre-compiled Catalog Queries

Students: Tianxiong Wang, Ruogu Du, Ao Zeng

This project pre-compiles all catalog access methods with the LLVM engine, including catalog lookup, insert, update, and delete.