Skip to the content.

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.

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”).