Efficient Distributed Top-k Query Processing with Caching

Recently, there has been an increased interest in incorporating in database management systems rank-aware query operators, such as top-k queries, that allow users to retrieve only the most interesting data objects. In this paper, we propose a cache-based approach for efficiently supporting top-k queries in distributed database management systems. In large distributed systems, the query performance depends mainly on the network cost, measured as the number of tuples transmitted over the network. Ideally, only the k tuples that belong to the query result set should be transmitted. Nevertheless, a server cannot decide based only on its local data which tuples belong to the result set. Therefore, in this paper, we use caching of previous results to reduce the number of tuples that must be fetched over the network. To this end, our approach always delivers as many tuples as possible from cache and constructs a remainder query to fetch the remaining tuples. This is different from the existing distributed approaches that need to re-execute the entire top-k query when the cached entries are not sufficient to provide the result set. We demonstrate the feasibility and efficiency of our approach through implementation in a distributed database management system.

[1]  Gerhard Weikum,et al.  KLEE: A Framework for Distributed Top-k Query Algorithms , 2005, VLDB.

[2]  Luis Gravano,et al.  Optimizing top-k selection queries over multimedia repositories , 2004, IEEE Transactions on Knowledge and Data Engineering.

[3]  Yufei Tao,et al.  Efficient top-k processing in large-scaled distributed environments , 2007, Data Knowl. Eng..

[4]  Ihab F. Ilyas,et al.  A survey of top-k query processing techniques in relational database systems , 2008, CSUR.

[5]  Kjetil Nørvåg,et al.  PROQID: partial restarts of queries in distributed databases , 2008, CIKM '08.

[6]  Panos Vassiliadis,et al.  View usability and safety for the answering of top-k queries via materialized views , 2009, DOLAP.

[7]  Luis Gravano,et al.  Evaluating Top-k Selection Queries , 1999, VLDB.

[8]  Patrick Valduriez,et al.  Best Position Algorithms for Top-k Queries , 2007, VLDB.

[9]  Dimitrios Gunopulos,et al.  Answering top-k queries using views , 2006, VLDB.

[10]  Surajit Chaudhuri,et al.  Stop-and-Restart Style Execution for Long Running Decision Support Queries , 2007, VLDB.

[11]  Vagelis Hristidis,et al.  PREFER: a system for the efficient execution of multi-parametric ranked queries , 2001, SIGMOD '01.

[12]  Badrish Chandramouli,et al.  Query suspend and resume , 2007, SIGMOD '07.

[13]  Kjetil Nørvåg,et al.  Efficient and Robust Database Support for Data-Intensive Applications in Dynamic Environments , 2009, 2009 IEEE 25th International Conference on Data Engineering.

[14]  Luis Gravano,et al.  Top-k selection queries over relational databases: Mapping strategies and performance evaluation , 2002, TODS.

[15]  Zhe Wang,et al.  Efficient top-K query calculation in distributed networks , 2004, PODC '04.

[16]  Christos Doulkeridis,et al.  On efficient top-k query processing in highly distributed environments , 2008, SIGMOD Conference.

[17]  Patrick Valduriez,et al.  Reducing network traffic in unstructured P2P systems using Top-k queries , 2006, Distributed and Parallel Databases.

[18]  Wolf-Tilo Balke,et al.  Progressive distributed top-k retrieval in peer-to-peer networks , 2005, 21st International Conference on Data Engineering (ICDE'05).

[19]  Luis Gravano,et al.  Evaluating top-k queries over Web-accessible databases , 2002, Proceedings 18th International Conference on Data Engineering.