Presentation is loading. Please wait.

Presentation is loading. Please wait.

PrefJoin: An Efficient Preference- Aware Join Operator Mohamed E. Khalefa Mohamed F. Mokbel Justin Levandoski.

Similar presentations


Presentation on theme: "PrefJoin: An Efficient Preference- Aware Join Operator Mohamed E. Khalefa Mohamed F. Mokbel Justin Levandoski."— Presentation transcript:

1 PrefJoin: An Efficient Preference- Aware Join Operator Mohamed E. Khalefa Mohamed F. Mokbel Justin Levandoski

2 2 Outline Preference Queries Implementing a Preference Join The PrefJoin Operator Performance Analysis Conclusion

3 3 Preference Queries SELECT * FROM Hotels H Restaurants R WHEREH.city = R.city PREFERRING MIN H.Price, MAX H.Rating, MIN BeachDistance(H.Location, Beach) MIN R.Price MAX R.Rating MIN R.WaitTime Top-K [VLDB99] Skyline [ICDE01] K-Dominance [SIGMOD06] K-Frequency [EDBT06] Multi-Objective [VLDB04] UsingSkyline/K-Dominance/K-Frequency/...

4 4 Outline Preference Methods Implementing a Preference Join The PrefJoin Operator Performance Analysis Conclusion

5 5 The “On-Top” Implementation SELECT * FROM Hotels H Restaurants R WHERE H.city = R.city PREFERRING MIN H.Price, MAX H.Rating, MIN BeachDistance(H.Location, Beach) MIN R.Price, MAX R.Rating, MIN R.WaitTime SELECT * FROM Hotels H Restaurants R WHERE H.city = R.city PREFERRING MIN H.Price, MAX H.Rating, MIN BeachDistance(H.Location, Beach) MIN R.Price, MAX R.Rating, MIN R.WaitTime Join Top-K Skyline Mult-Objective K-Frequency K-Dominance Easy to implementInefficient

6 6 The “Custom” Implementation Skyline Join Skyline Join K-Dom Join K-Dom Join K-Freq Join K-Freq Join Top-K Join Top-K Join Mult-Obj Join Mult-Obj Join … Good performance Infeasible Multi-relational skyline [ICDE07] Equijoin skyline [ICDE10] Progressive multi-criteria [ICDE10] TA & NRA [PODS01] Klee [VLDB05] Rank-Join [VLDB03]

7 7 Outline Preference Methods Implementing a Preference Join The PrefJoin Operator –Architecture –Functionality Performance Analysis Conclusion

8 8 The PrefJoin Architecture K-Dominance PrefJoin SkylineK-Frequency Good performance Extensible architecture / Sustainable

9 9 The PrefJoin Architecture: Comparisons Join Top-K Skyline Multi-Objective K-Frequency K-Dominance The On-Top Approach Work: Easy to Implement Performance: Poor Skyline Join Skyline Join K-Dom Join K-Dom Join Top-K Join Top-K Join Mult- Obj Join Mult- Obj Join K-Freq Join K-Freq Join The CustomApproach Work: Difficult/Unsustainable Performance: Good … K-Frequency Skyline Top-K Multi-Obj K-Dom PrefJoin Work: Easy to Implement/ Sustainable Performance: Good

10 10 Outline Preference Methods Implementing a Preference Join The PrefJoin Operator –Architecture –Functionality Performance Analysis Conclusion

11 11 PrefJoin Functionality ….. Phase 1 Local Pruning Phase 2 Data Preparation P local LocalPref P pairwise DB(t) Phase 3 Joining Candidate Preference Set P refine Final Preference Set Phase 4 Refinement “Plugin” Functions

12 12 PrefJoin Functionality: Plugin Functions Semantics of three plugin functions determine preference join type P local P pairwise P refine Skyline Null = Skyline Join P local P pairwise P refine Skyline K-Dominance = Join P local P pairwise P refine Multi- Objective = Join Multi- Objective

13 13 PrefJoin Functionality ….. Phase 1 Local Pruning Phase 2 Data Preparation P local LocalPref P pairwise DB(t) Phase 3 Joining Candidate Preference Set P refine Final Preference Set Phase 4 Refinement

14 14 Phase 1: Local Pruning Filter tuples from each input relation guaranteed not to be preference answers Filtered tuples are never considered again SELECT * FROM Hotels H, Restaurants R WHERE H.city = R.city PREFERRING MIN H.Price, MAX H.Rating, MIN BeachDistance(H.Location, Beach) MIN R.Price, MAX R.Rating, MIN R.WaitTime USING SKYLINE SELECT * FROM Hotels H, Restaurants R WHERE H.city = R.city PREFERRING MIN H.Price, MAX H.Rating, MIN BeachDistance(H.Location, Beach) MIN R.Price, MAX R.Rating, MIN R.WaitTime USING SKYLINE h (city) P local LocalPref (Hotels) LocalPref (Restaurants)

15 15 PrefJoin Functionality ….. Phase 1 Local Pruning Phase 2 Data Preparation P local LocalPref P pairwise DB(t) Phase 3 Joining Candidate Preference Set P refine Final Preference Set Phase 4 Refinement

16 16 Phase 2: Data Preparation Associate dominance metadata with tuples Helps to reduce output of join phase Hotel LocalPref Set Hotel Buckets null S S H Restaurants LocalPref Set P pairwise

17 17 PrefJoin Functionality ….. Phase 1 Local Pruning Phase 2 Data Preparation P local LocalPref P pairwise DB(t) Phase 3 Joining Candidate Preference Set P refine Final Preference Set Phase 4 Refinement

18 18 Phase 3: Joining Join input to produce candidate preference set –Use metadata from previous phase as extra join predicate –Greatly reduces false positive preference answers DB set intersection is not null DB set intersection is null Candidate Preference Set

19 19 PrefJoin Functionality ….. Phase 1 Local Pruning Phase 2 Data Preparation P local LocalPref P pairwise DB(t) Phase 3 Joining Candidate Preference Set P refine Final Preference Set Phase 4 Refinement

20 20 Phase 4: Refinement Apply final preference evaluation to join Guarantees correct final preference answer Optional phase –Skyline does not require refinement phase –K-dominance does require refinement phase P refine Final Preference Answer

21 21 Outline Preference Methods Implementing a Preference Join The PrefJoin Operator Performance Analysis Conclusion

22 22 Performance Analysis PrefJoin implemented in PostgreSQL Comparison of performance against –FlexPref [ICDE10]: generic, extensible join –SkylineJoin [ICDE07]: skyline-specific join

23 23 Scalability Experiment Performance for increasing input sizes –Skyline –K-Dominance –Multi-objective

24 24 Varying Number of Preference Attributes Increasing number of preference attributes for Skyline preference method Increased number of attributes increases preference answer cardinality

25 25 Outline Preference Methods Implementing a Preference Join The PrefJoin Operator Performance Analysis Conclusion

26 26 Conclusion and Summary Many (possibly infinite) preference methods Three approaches to supporting preference join queries –“On-top” approach: easy but inefficient –“Custom implementation” approach: efficient yet infeasible –PrefJoin’s “extensible” approach: efficient and feasible PrefJoin architecture –Four-phase approach –Uses three “plug-in” preference functions to determine preference join semantics Performance analysis –Experiments with PostgreSQL implementation –Superior performance compared to existing custom and generic preference join algorithms

27 27 Thank You Questions

28 28 Preference Method Examples Price Distance R1 R3 R4 R2 R7 SELECT * FROM Restaurants R PREFERRING MIN R.Price, MIN R.Distance SELECT * FROM Restaurants R PREFERRING MIN R.Price, MIN R.Distance R8 Skyline answer: {R1, R3, R5} R6 R5 PriceDistance R1 R3 R4 R2 R7 R8 Top-K Domination answer: {R3, R4, R2} R6 R5 The Skyline Method The Top-K Domination Method


Download ppt "PrefJoin: An Efficient Preference- Aware Join Operator Mohamed E. Khalefa Mohamed F. Mokbel Justin Levandoski."

Similar presentations


Ads by Google