Skip to content

Latest commit

 

History

History
74 lines (55 loc) · 2.64 KB

README.md

File metadata and controls

74 lines (55 loc) · 2.64 KB

QueryBooster

https://querybooster.ics.uci.edu/

News

We gave a talk about this project at Cornell University, here is the recording.

Introduction

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.

JDBC Drivers

The QueryBooster customized JDBC drivers repository are listed below:

Run QueryBooster

Requirements

  • Python 3.9 +
  • NPM

Set up Python Virtual Environement

In QueryBooster folder,

python3 -m venv venv
source venv/bin/activate  # Windows, .\venv\Scripts\activate
pip install -r requirements.txt

Compile and Deploy QueryBooster client

In QueryBooster folder,

cd client/
npm install
npm run build

Run QueryBooster server

In QueryBooster folder,

cd server

# Dev mode
python wsgi.py

# Server mode (only support Linux, Mac OS X)
gunicorn 'wsgi:app'

Access QueryBooster web interface

Go to the link http://localhost:8000 to access the web interface.

Test

In QueryBooster folder,

python3 -m pytest

Publications

  1. QueryBooster: Improving SQL Performance Using Middleware Services for Human-Centered Query Rewriting (published in VLDB 2023)
  2. 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: