51
SKYLINE QUERY PROCESSING OVER JOINS. Akrivi Vlachou1, Christos Doulkeridis1, Neoklis Polyzotis SIGMOD 2011

S KYLINE Q UERY P ROCESSING OVER J OINS. Akrivi Vlachou1, Christos Doulkeridis1, Neoklis Polyzotis SIGMOD 2011

Embed Size (px)

Citation preview

SKYLINE QUERY PROCESSING OVER JOINS.Akrivi Vlachou1, Christos Doulkeridis1, Neoklis PolyzotisSIGMOD 2011

OUTLINE

Introduction Preliminaries Early Termination The SFSJ Algorithm Experimental Evaluation Conclusions

2

INTRODUCTION

3

(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

PRELIMINARIES

R: relation. : a set of numerical attributes in the

schema of R. :tuples in R. with respect to :

5

(CONT.)

== {Price,Rating} and = {Distance,Quality}

Assum any attribute is the inteval [0,1]

6

(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

(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

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

(CONT.)

10

Join,threshold x=0.3, pruned tuple fmin>=0.3

(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.

(CONT.)

Condition for Early Te:rmination:

12

(CONT.)

13

=0.3

(CONT.)

14

(CONT.)

15

(CONT)

16

(CONT.)

exist join value=B in =

SKY( ) ={ (Join Value=A), (Join Value = B)}

exist join value=A in =

exist join value=B in =

17

(CONT.)

=( 0.1 , 0.1 , 0.2 , 0.2 ) =( 0.2 , 0.3 , 0.1 , 0.5 ) , }

18

THE SFSJ ALGORITHM

SFSJ(Sort-First-Skyline-Join) Algorithm

19

(CONT.)

20

(CONT.)

i=1,j=2 insert Add to ,

21

Iteration 1

(CONT.)

i=1,j=2 insert Add to ,

22

Iteration 1

(CONT.)

i=2,j=1 insert Add to ,

23

Iteration 2

(CONT.)

i=2,j=1 insert Add to ,

24

Iteration 2

(CONT.)

i=1,j=2 insert

25

Iteration 3

(CONT.)

i=1,j=2 insert

add to 26

Iteration 3

(CONT.)

i=1,j=2 insert

add to 27

Iteration 3

(CONT.)

i=1,j=2 insert

add to 28

Iteration 3

(CONT.)

i=1,j=2 insert halt :false ( no SKY( ) join

)

29

Iteration 3

(CONT.)

i=1,j=2 insert add to ,

30

Iteration 3

(CONT.)

i=1,j=2 insert add to ,

31

Iteration 3

(CONT.)

i=2,j=1 insert

Add to 32

Iteration 4

(CONT.)

i=2,j=1 insert

Add to 33

Iteration 4

(CONT.)

i=2,j=1 insert Add to ,

34

Iteration 4

(CONT.)

i=2,j=1 insert Add to ,

35

Iteration 4

(CONT.)

i=1,j=2 insert Add to

36

Iteration 5

(CONT.)

i=1,j=2 insert Add to

37

Iteration 5

(CONT.)

i=2,j=1 insert

Add to 38

Iteration 6

(CONT.)

i=2,j=1 insert

Add to 39

Iteration 6

(CONT.)

i=2,j=1 insert

40

Iteration 6

(CONT.)

i=2,j=1 insert

41

Iteration 6

(CONT.)

i=2,j=1 insert

, add to O.

42

Iteration 6

(CONT.)

i=2,j=1 insert

, add to O.

43

Iteration 6

(CONT.)

i=2,j=1 insert

Add to 44

Iteration 6

(CONT.)

i=2,j=1 insert

Add to 45

Iteration 6

(CONT.)

i=2,j=1 insert

Add to 46

Iteration 6

(CONT.)

i=2,j=1 insert

Add to 47

Iteration 6

(CONT.)

i=2,j=1 insert halt: true ( join SKY(

)) Return O , =O

48

Iteration 6

EXPERIMENTAL EVALUATION

49

(CONT.)

50

CONCLUSIONS

SFSJ is better than other method like PROGXE SFSJ-SC is better than SFSJ-RR

51