Download presentation
Presentation is loading. Please wait.
Published byEgbert Sanders Modified over 9 years ago
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
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.