SkinnerDB is a relational database management system for data analysis. It processes SQL queries adaptively, i.e. the query plan keeps changing during query execution. This helps SkinnerDB to deal with queries for which it is hard to decide a good join order in advance. Tweet
SkinnerDB uses reinforcement learning to decide which plans to try. It executes selected plans for few milliseconds and measures the speed of evaluation. Via those measurements, it learns to select better plans for the remaining query execution. Result fragments generated by different plans are finally combined into a complete query result.
Publications
VLDB 2023 SkinnerMT: Parallelizing for efficiency and robustness in adaptive query processing on multicore platforms. Ziyun Wei, Immanuel Trummer
TODS 2021 - Best of SIGMOD Edition SkinnerDB: Regret-bounded query evaluation via reinforcement learning. Immanuel Trummer, Junxiong Wang, Ziyun Wei, Deepak Maram, Samuel Moseley, Saehan Jo, Joseph Antonakakis, Ankush Rhayabhari
SIGMOD 2019 SkinnerDB: Regret-bounded query evaluation via reinforcement learning. Immanuel Trummer, Junxiong Wang, Ziyun Wei, Deepak Maram, Samuel Moseley, Saehan Jo, Joseph Antonakakis Selected for Best of SIGMOD
VLDB 2018 Demo: SkinnerDB: Regret-bounded query evaluation via reinforcement learning. Immanuel Trummer, Samuel Moseley, Deepak Maram, Saehan Jo, Joseph Antonakakis
Funding
Funded by the National Science Foundation via grant 1910830 (“Regret-Bounded Query Evaluation via Reinforcement Learning”).