  Data outsourcing is a cost-effective solution for data owners to tackle
issues such as large volumes of data, huge number of users, and intensive
computation needed for data analysis. They can simply upload their databases to
a cloud and let it perform all management works, including query processing.
One problem with this service model is how query issuers can verify the query
results they receive are indeed correct. This concern is legitimate because, as
a third party, clouds may not be fully trustworthy, and as a large data center,
clouds are ideal targets for hackers. There has been significant work on query
result verification, but most consider only simple queries where query results
can be attained by checking the raw data against the query conditions directly.
In this paper, we consider the problem of enabling users to verify the
correctness of the results of analytic queries. Unlike simple queries, analytic
queries involve ranking functions to score a database, which makes it difficult
to build data structures for verification purposes. We propose two approaches,
namely one-signature and multi-signature, and show that they work well on three
representative types of analytic queries, including top-k, range, and KNN
queries, through both analysis and experiments.
