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.
Self-Driving InfrastructureStudents: 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.
Query Optimization & RewritingStudents: 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.
Database CompressionStudents: Tao Dai, Bohan Zhang, Siyuan Sheng
Added dictionary-based compression for tiles in Peloton with support executing
SELECT queries directly on compressed data.
Query Optimizer Cost ModelStudents: 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.
Index Tuning with Reinforcement LearningStudents: 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.
SequencesStudents: Bowen Deng, Peixin Sun, Kangyan Zhou
This project adds the implementation of Postgres-style sequence to Peloton. It supports
currval functions with session-specific behaviors.
Schema ChangesStudents: 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
Logging and RecoveryStudents: Gandeevan Raghuraman, Anirudh Kanjani, Aaron Tian
Add support for physical write-ahead logging and recovery in Peloton.
Temporary TablesStudents: 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.
Index Suggestion in PelotonStudents: 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 IndexStudents: 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.
Pre-compiled Catalog QueriesStudents: 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.