Download presentation
Presentation is loading. Please wait.
Published byKaylah Gladney Modified over 10 years ago
1
Skyline Charuka Silva
2
Outline Charuka Silva, Skyline2 Motivation Skyline Definition Applications Skyline Query Similar Interesting Problem Algorithms Divide and Conquer Algorithm Index based Algorithm Nearest Neighbor
3
Trip to Nassau (Bahamas) Hotel that is cheap and close to the beach. Two goals are complementary as the hotels near the beach tend to be more expensive. Travel agent can suggest all interesting hotels. Interesting are all hotels that are not worse than any other hotel in both dimensions. We call this set of interesting hotels the Skyline Charuka Silva, Skyline3
4
Distribution of Hotels Charuka Silva, Skyline4
5
Formal Skyline Definition Skyline is defined as those points which are not dominated by any other point. A point dominates another point if it is as good or better in all dimensions and better in at least one dimension. Charuka Silva, Skyline5
6
Where It Applies? Skyline operator is important for applications involving multi- criteria decision making. Charuka Silva, Skyline6
7
Some Applications Customer information systems, travel agencies and mobile city guides. Skyline has to be computed as user move on. The Skyline of Manhattan, for instance, can be computed as the set of buildings which are high and close to the Hudson river. Decision Support (Business intelligence), e.g. Customers who buy more and complain little Data visualization. E.g. The points of an object from certain perspective can be determined Distributed Query optimization. E.g. find set of interesting sites which have high computation power and are close to data needed to execute the query. Charuka Silva, Skyline7
8
Skyline Query select * from Hotels, skyline of price min, distance min what else: max, joins, group by and so on. Charuka Silva, Skyline8
9
Skyline Query Results Results for the query will be {a,i,k} Charuka Silva, Skyline9
10
Top-K Queries Vs Skyline Top-K (or ranked) queries retrieve the best K objects that minimize a specific preference function. E.g. Given preference function f(x,y)=x+y, the top-3 query Retrieves,, (in this order) Charuka Silva, Skyline10
11
Divide-and-Conquer (D&C) Divides the dataset into several partitions so that each partition fits in memory The partial skyline of the points in every partition is computed Merge the partial ones to obtain full skyline Algorithm 1 Charuka Silva, Skyline11
12
{ a,c,g}, {d}, {i},{m,k} Partitioned Space Charuka Silva, Skyline12
13
Divide and Conquer All points in the skyline of s 3 must remain. Those in s 2 are discarded; dominated by s 3 Each skyline point in s 1 is compared only with points in s 3, no point in s 2 or s 4 can dominate those in s 1. Charuka Silva, Skyline13
14
Drawbacks D&C efficient only for small data sets. If the data set is large, the partitioning process requires reading and writing entire data set at least once : high I/O cost Not suitable for online applications: can't report any results until partition process completes. Charuka Silva, Skyline14
15
Index Based Skyline Organize set of d-dimensional points into d lists, a point p = (p1, p2,..., pd) is assigned to the ith list (1≤i≤d) when pi is the smallest. Points in each list are sorted in ascending order of their minimum A batch in the ith list consists of points that have the same ith coordinate Algorithm 2 Charuka Silva, Skyline15
16
Index List Charuka Silva, Skyline16
17
Processing a batch Computing the skyline inside the batch Among the computed points, it adds the ones not dominated by any of the already-found skyline points into the skyline list Charuka Silva, Skyline17
18
Processing a batch Loads the first batch of each list, and handles the one with the minimum minC ( i.e. {a}, {k} ), add {a} to the Skyline list Compare batch {b} and {k}, and add {k} to the list. Load {b} and {i,m} ; Find skyline inside {i,m} first, that is {i} Compare {i} and {b} and add {i} to skyline list Algorithm stops, since any other batch is greater than or equal to {i} Skyline is {a,k,i} Charuka Silva, Skyline18
19
Pros and Cons Hashing technique is straight forward and incurs low CPU overhead But high I/O cost, since multiple queries access large part of space. Propagate and merge incur high I/O cost to scan to-do lost every time when a point is discovered and when finding best fit to merge. Charuka Silva, Skyline19
20
Nearest Neighbor (NN) Performs a NN query on the R-tree, to find the point with the minimum distance from the beginning of the axes (point o). Distances are computed according to L1 norm All the points in the dominance region are exempt from further consideration Results of NN search is used to partition the data universe recursively. Algorithm 3 Charuka Silva, Skyline20
21
Nearest Neighbor (NN) Two Partitions [0,i x ) [0,∞) and (ii) [0,∞) [0,i y ) Partition1: 1, 3 Partition2: 1,2 Charuka Silva, Skyline21
22
Nearest Neighbor (NN) The set of partitions resulting after the discovery of a skyline point are inserted in a to-do list While the to-do list is not empty, NN removes one of the partitions from the list and recursively repeats the same process Charuka Silva, Skyline22
23
Nearest Neighbor (NN) [ 0,a x ) [0,∞) subdivisions 1 and 3 [0,i x ) [0,a y ) subdivision 1 and 2 Charuka Silva, Skyline23
24
NN Concepts Laisser-faire: A main memory hash table stores the skyline points found so far. Propagate: When a point p is found, all the partitions in the to- do list that contain p are removed and re-partitioned according to p. Merge: The main idea is to merge partitions in the to-do, thus reducing the number of queries that have to be performed. Fine-grained Partitioning: The original NN algorithm generates d partitions after a skyline point is found. An alternative approach is to generate 2d non-overlapping subdivisions. Charuka Silva, Skyline24
25
Reference S. Borzs onyi, D. Kossmann, and K. Stocker.The skyline operator. In Proc. IEEE Conf. on Data Engineering, Heidelberg, Germany, 2001. K.-L. Tan, P.-K. Eng, and B. C. Ooi. Ecient progressive skyline computation. In Proc. of the Conf. on Very Large Data Bases, Rome, Italy, Sept. 2001 H. T. Kung, F. Luccio, and F. P. Preparata.On finding the maxima of a set of vectors. Journal of the ACM, 22(4), 1975 Kossmann, D., Ramsak, F., Rost, S. Shooting Stars in the Sky: an Online Algorithm for Skyline Queries.VLDB, 2002. Dimitris Papadias, Yufei Tao, Greg Fu Bernhard Seeger. An optimal and progressive algorithm for skyline queries. In Conf. on Management of Data ACM SIGMOD 2003. Charuka Silva, Skyline25
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.