Supporting Exploratory Queries in Database Centric Web Applications
<|reference_start|>Supporting Exploratory Queries in Database Centric Web Applications: Users of database-centric Web applications, especially in the e-commerce domain, often resort to exploratory ``trial-and-error'' queries since the underlying data space is huge and unfamiliar, and there are several alternatives for search attributes in this space. For example, scouting for cheap airfares typically involves posing multiple queries, varying flight times, dates, and airport locations. Exploratory queries are problematic from the perspective of both the user and the server. For the database server, it results in a drastic reduction in effective throughput since much of the processing is duplicated in each successive query. For the client, it results in a marked increase in response times, especially when accessing the service through wireless channels.   In this paper, we investigate the design of automated techniques to minimize the need for repetitive exploratory queries. Specifically, we present SAUNA, a server-side query relaxation algorithm that, given the user's initial range query and a desired cardinality for the answer set, produces a relaxed query that is expected to contain the required number of answers. The algorithm incorporates a range-query-specific distance metric that is weighted to produce relaxed queries of a desired shape (e.g. aspect ratio preserving), and utilizes multi-dimensional histograms for query size estimation. A detailed performance evaluation of SAUNA over a variety of multi-dimensional data sets indicates that its relaxed queries can significantly reduce the costs associated with exploratory query processing.<|reference_end|>
@article{kadlag2003supporting,
    title={Supporting Exploratory Queries in Database Centric Web Applications},
    author={Abhijit Kadlag, Amol Wanjari, Juliana Freire, Jayant R. Haritsa},
    journal={arXiv preprint arXiv:cs/0310035},
    year={2003},
    archivePrefix={arXiv},
    eprint={cs/0310035},
    primaryClass={cs.DB}
}