https://querybooster.ics.uci.edu/
We gave a talk about this project at Cornell University, here is the recording.
QueryBooster is a middleware-based query rewriting framework.
QueryBooster intercepts SQL queries by customizing JDBC drivers used by applications (e.g., Tableau) and uses rules to rewrite the queries to semantically equivalent yet more efficient queries. The rewriting rules are designed by data experts who analyze slow queries and apply their domain knowledge and optimization expertise. QueryBooster can accelerate queries formulated by Tableau up to 100 times faster.
The QueryBooster customized JDBC drivers repository are listed below:
- Python 3.9 +
- NPM
In QueryBooster
folder,
python3 -m venv venv
source venv/bin/activate # Windows, .\venv\Scripts\activate
pip install -r requirements.txt
In QueryBooster
folder,
cd client/
npm install
npm run build
In QueryBooster
folder,
cd server
# Dev mode
python wsgi.py
# Server mode (only support Linux, Mac OS X)
gunicorn 'wsgi:app'
Go to the link http://localhost:8000 to access the web interface.
In QueryBooster
folder,
python3 -m pytest
- QueryBooster: Improving SQL Performance Using Middleware Services for Human-Centered Query Rewriting (published in VLDB 2023)
- Demo of QueryBooster: Supporting Middleware-Based SQL Query Rewriting as a Service (published in VLDB 2023 Demo) The workloads we experimented on for the paper are the following:
- Selected query pairs from WeTune: Test_wetune.csv.
- Query pairs from Calcite test suite: calcite_tests.csv.
- Tableau generated TPC-H queries (and their human-rewritten queries): tpch_pg.md.