Monochromatic reverse top-k
Download
Report
Transcript Monochromatic reverse top-k
Reverse Top-k Queries
Akrivi Vlachou*, Christos Doulkeridis*, Yannis Kotidis#, Kjetil Nørvåg*
*Norwegian University of Science and Technology (NTNU), Trondheim, Norway
#Athens University of Economics and Business (AUEB), Greece
Outline
Motivation
& Preliminaries
Monochromatic Reverse Top-k Queries
Bichromatic Reverse Top-k Queries
Threshold-based
Algorithm
Materialized Views
Experimental
Evaluation
Conclusions & Future Work
2
Rank-aware Query Processing
Huge amount of
available data
Users prefer to retrieve
a limited set of k
ranked data objects
that best match their
preferences (top-k
queries)
3
Top-k Query
Given a scoring function f(),
retrieve the k object that best
match the user preferences
Linear scoring function
f w(p) = Σw[i]*p[i]
Weight w[i]:
relative importance of attribute i
Definition TOPk(w): Given a
weighting vector w and a
positive integer k, find the k data
points p with the minimum f(p)
scores
Query line of w at point p: defines the
score of p
Query space of w defined by point p:
number of enclosed points determines
the rank of p
4
Reversing the Top-k Query
From the perspective of
manufacturers:
it is important that a
product is returned in
the highest ranked
positions for as many
user preferences as
possible
estimate the impact of
a product compared to
their competitors
products
advertise a product to
potential customers
Which customers
would be interested?
sales representative
customer customer customer customer
5
Reversing the Top-k Query
Reverse top-k query:
Given a potential product q
and a positive integer k,
which are the weighting
vectors w for which q is in
the top-k query result set?
Two different versions
Monochromatic:
sales representative
no knowledge of user
preferences
Bichromatic:
a dataset with user
preferences is given
customer customer customer customer
6
Car Database Example
A database containing information about different cars
Different users have different preferences
Bob prefers a cheap car, and does not care much about the age
the best choice (top-1) for Bob is the car p1 with score 2.5
Tom prefers a newer car rather than a cheap car
the best choice for Tom and Max is the car p2
7
Car Database Example
Query point q=p2, k=1:
Bichromatic reverse top-k: {(0.2,0.8), (0.5,0.5)}
advertise product to Tom and Max
Monochromatic reverse top-k: line segment w[price]=[1/7,5/6]
estimate the impact of p2 as 69%
Query point q=p3, k=1: empty result set for the bichromatic query
8
Outline
Motivation
& Preliminaries
Monochromatic Reverse Top-k Queries
Bichromatic Reverse Top-k Queries
Threshold-based
Algorithm
Materialized Views
Experimental
Evaluation
Conclusions & Future Work
9
Monochromatic Reverse Top-k Query
mRTOPk(q): Given a point q, a
positive number k and a dataset
S, the result set of the
monochromatic reverse top-k
query is the locus for which
there exists p in TOPk(wi) such
that fwi(q) ≤ fwi(p).
The solution space W can be
split into a finite set of nonadjacent partitions such that
query point q has the same rank
for all the weighting vectors.
For the monochromatic case: we
focus on the 2-d space
2
mRTOP1(q)
1
2
Solution space
10
Geometric Interpretation d=2, k =1
If q belongs to the convex hull, then
there exists exactly one partition in
mRTOP1(q)
Weighting vectors that are
perpendicular to pq and qr define the
line segment
For weighting vectors with smaller and
larger slopes than w1, the relative order
of p and q changes
Monochromatic reverse top-k, k>1:
The solution space may contain
more than 1 partition
11
Outline
Motivation
& Preliminaries
Monochromatic Reverse Top-k Queries
Bichromatic Reverse Top-k Queries
Threshold-based
Algorithm
Materialized Views
Experimental
Evaluation
Conclusions & Future Work
14
Bichromatic Reverse Top-k Query
bRTOPk(q): Given a point q, a positive number k
and two datasets S and W, where S represents data
points and W is a dataset containing different
weighting vectors, a weighting vector wi belongs to
the result set, if and only if there exists p in TOPk(wi)
such that fwi(q) ≤ fwi(p)
Naïve approach:
for each weighting vector process the top-k query
test if query point q is in the top-k list
15
Threshold-based Algorithm (RTA)
Goal:
reduce the number of top-k evaluations by discarding
weighting vectors
Threshold-based Algorithm (RTA):
sort the weighting vectors based on pairwise similarity
top-k queries defined by similar vectors, have similar result
sets
evaluate the first top-k query, calculate a threshold
For each weighting vector
possibly prune based on threshold
refine threshold
16
Example of RTA Algorithm (k=2)
Buffer: p1, p2
Evaluate top-2 query
for w1
Set threshold based
on w2
fw2(q) > threshold
discard w2
Refine threshold for
w3
p9
p8
p10
p5
p1
p6
p4
w3
p
w1 2
w2
p7
p3
q
W=[ w1, w2, w3 ]
17
Materialized Views
Threshold-based Algorithm (RTA)
reduce the top-k evaluations by discarding some
weighting vectors that are not in the reverse top-k
result set
process at least as many top-k evaluations as the
cardinality of the result set
Materialized Views
find weighting vectors that belong definitely to
the result without top-k evaluation
18
Materialized Views
Grid-based space
partitioning
w1, w2, w3
cell Ci
lower left corner CiL
upper right corner CiU
We store for each cell Ci
the results of reverse
top-k queries for corners
CiL and CiU
19
Materialized Views
Given a point q enclosed
in cell Ci
all weighting vectors
in RTOPk(CiU) belong
to the result set of q
only weighting
vectors in
w1, w2, w3
RTOPk(CiL) - RTOPk(CiU)
have to be examined
Materialized views can
be generalized for
arbitrary k<K values
w1, w2, w3 , w4
20
Outline
Motivation
& Preliminaries
Monochromatic Reverse Top-k Queries
Bichromatic Reverse Top-k Queries
Threshold-based
Algorithm
Materialized Views
Experimental
Evaluation
Conclusions & Future Work
21
Experimental Setup
Comparison between Naïve and RTA
(varying dimensionality, cardinality, data
distribution – real data)
Queries: uniform and k-skyband points
Metrics:
time
I/Os
number of top-k evaluations
22
RTA vs. Naïve
uniform distribution of S and uniform weights W
|S|=10K, |W|=10K, top-k=10, skyband query points
RTA outperforms naive by 1 to 2 orders of magnitude
as dimensionality increases, |RTOPk(q)| decreases leading to
fewer top-k evaluations
23
Scalability of RTA Algorithm
various distributions (UN, AC, CO) of S and uniform weights W
|S|=10K or |W|=10K, d=5, top-k=10, skyband query points
naive requires |W| top-k query evaluations
|W|=5K, correlated dataset:
RTA needs on 544 out of 5000 top-k evaluations (saves
89.12% of the cost)
the average size of the result set is 459
24
Performance of RTA on Real Data
NBA consists of 17265 tuples, d=5 (number of points scored, rebounds,
assists, steals and blocks)
HOUSE consists of 127930 tuples, d=6 (income spent on gas, electricity,
water, heating, insurance, and property tax)
uniform and clustered weights W (|W|=10K)
clustered weights lead to fewer top-k evaluations
25
Outline
Motivation
& Preliminaries
Example of Reverse Top-k Queries
Monochromatic Reverse Top-k Queries
Bichromatic Reverse Top-k Queries
Threshold-based
Algorithm
Materialized Views
Experimental
Evaluation
Conclusions & Future Work
26
Conclusions and Future Work
We introduced reverse top-k queries
geometric interpretation of the solution space
efficient algorithm for bichromatic reverse top-k
query
materialized reverse top-k views
Future Work
interpretation of solution space for higher
dimensions (monochromatic reverse top-k)
improve the performance of the bichromatic reverse
top-k computation
27
Thank you!
Related work:
Akrivi Vlachou, Christos Doulkeridis, Yannis Kotidis, Kjetil Nørvåg: "Reverse
Top-k Queries"
Akrivi Vlachou, Christos Doulkeridis, Kjetil Nørvåg, Yannis Kotidis: "Identifying
the Most Influential Data Objects with Reverse Top-k Queries"
More information: http://www.idi.ntnu.no/~vlachou/
28