Page 1
SKYLINE QUERY PROCESSING OVER JOINS.Akrivi Vlachou1, Christos Doulkeridis1, Neoklis PolyzotisSIGMOD 2011
Page 2
OUTLINE
Introduction Preliminaries Early Termination The SFSJ Algorithm Experimental Evaluation Conclusions
2
Page 4
(CONT.)
Propose a novel algorithm for efficiently computing the skyline set of a join without generating all the join tuples and without accessing all tuples of and .
4
Page 5
PRELIMINARIES
R: relation. : a set of numerical attributes in the
schema of R. :tuples in R. with respect to :
5
Page 6
(CONT.)
== {Price,Rating} and = {Distance,Quality}
Assum any attribute is the inteval [0,1]
6
Page 7
(CONT.)
x=A, group skyline: R2x=B, group skyline: R1,R3skyline:R2 7
RID Distance 1/Quality LocationR1 100 1 BR2 100 ¼ AR3 200 ½ BR4 200 1 A
Page 8
(CONT.)
8
PID Price Join Attr.P1 100 BP2 500 AP3 400 BP4 500 A
QID Quality Join Attr.Q1 1 BQ2 4 AQ3 2 BQ4 1 A
Page 9
EARLY TERMINATION
Assume each relation is accessed one tuple at a time, in an ascending order according to the following function:
Check
Inadequacy of Existing Techniques: have to join all possible tuples.
9
Page 10
(CONT.)
10
Join,threshold x=0.3, pruned tuple fmin>=0.3
Page 11
(CONT.)
0.1 0.30.1 0.80.35 0.20.6 0.2
11
SaLSa need to join all tuple but it may be not skyline.
Page 12
(CONT.)
Condition for Early Te:rmination:
12
Page 17
(CONT.)
exist join value=B in =
SKY( ) ={ (Join Value=A), (Join Value = B)}
exist join value=A in =
exist join value=B in =
17
Page 18
(CONT.)
=( 0.1 , 0.1 , 0.2 , 0.2 ) =( 0.2 , 0.3 , 0.1 , 0.5 ) , }
18
Page 19
THE SFSJ ALGORITHM
SFSJ(Sort-First-Skyline-Join) Algorithm
19
Page 21
(CONT.)
i=1,j=2 insert Add to ,
21
Iteration 1
Page 22
(CONT.)
i=1,j=2 insert Add to ,
22
Iteration 1
Page 23
(CONT.)
i=2,j=1 insert Add to ,
23
Iteration 2
Page 24
(CONT.)
i=2,j=1 insert Add to ,
24
Iteration 2
Page 25
(CONT.)
i=1,j=2 insert
25
Iteration 3
Page 26
(CONT.)
i=1,j=2 insert
add to 26
Iteration 3
Page 27
(CONT.)
i=1,j=2 insert
add to 27
Iteration 3
Page 28
(CONT.)
i=1,j=2 insert
add to 28
Iteration 3
Page 29
(CONT.)
i=1,j=2 insert halt :false ( no SKY( ) join
)
29
Iteration 3
Page 30
(CONT.)
i=1,j=2 insert add to ,
30
Iteration 3
Page 31
(CONT.)
i=1,j=2 insert add to ,
31
Iteration 3
Page 32
(CONT.)
i=2,j=1 insert
Add to 32
Iteration 4
Page 33
(CONT.)
i=2,j=1 insert
Add to 33
Iteration 4
Page 34
(CONT.)
i=2,j=1 insert Add to ,
34
Iteration 4
Page 35
(CONT.)
i=2,j=1 insert Add to ,
35
Iteration 4
Page 36
(CONT.)
i=1,j=2 insert Add to
36
Iteration 5
Page 37
(CONT.)
i=1,j=2 insert Add to
37
Iteration 5
Page 38
(CONT.)
i=2,j=1 insert
Add to 38
Iteration 6
Page 39
(CONT.)
i=2,j=1 insert
Add to 39
Iteration 6
Page 40
(CONT.)
i=2,j=1 insert
40
Iteration 6
Page 41
(CONT.)
i=2,j=1 insert
41
Iteration 6
Page 42
(CONT.)
i=2,j=1 insert
, add to O.
42
Iteration 6
Page 43
(CONT.)
i=2,j=1 insert
, add to O.
43
Iteration 6
Page 44
(CONT.)
i=2,j=1 insert
Add to 44
Iteration 6
Page 45
(CONT.)
i=2,j=1 insert
Add to 45
Iteration 6
Page 46
(CONT.)
i=2,j=1 insert
Add to 46
Iteration 6
Page 47
(CONT.)
i=2,j=1 insert
Add to 47
Iteration 6
Page 48
(CONT.)
i=2,j=1 insert halt: true ( join SKY(
)) Return O , =O
48
Iteration 6
Page 49
EXPERIMENTAL EVALUATION
49
Page 51
CONCLUSIONS
SFSJ is better than other method like PROGXE SFSJ-SC is better than SFSJ-RR
51