  SQL query performance is critical in database applications, and query
rewriting is a technique that transforms an original query into an equivalent
query with a better performance. In a wide range of database-supported systems,
there is a unique problem where both the application and database layer are
black boxes, and the developers need to use their knowledge about the data and
domain to rewrite queries sent from the application to the database for better
performance. Unfortunately, existing solutions do not give the users enough
freedom to express their rewriting needs. To address this problem, we propose
QueryBooster, a novel middleware-based service architecture for human-centered
query rewriting, where users can use its expressive and easy-to-use rule
language (called VarSQL) to formulate rewriting rules based on their needs. It
also allows users to express rewriting intentions by providing examples of the
original query and its rewritten query. QueryBooster automatically generalizes
them to rewriting rules and suggests high-quality ones. We conduct a user study
to show the benefits of VarSQL to formulate rewriting rules. Our experiments on
real and synthetic workloads show the effectiveness of the rule-suggesting
framework and the significant advantages of using QueryBooster for
human-centered query rewriting to improve the end-to-end query performance.

Databases