The skyline operator is the subject of an optimization problem and computes the Pareto optimum on tuples with multiple dimensions.
This operator is an extension to SQL proposed by Börzsönyi et al.[1] to filter results from a database to keep only those objects that are not worse in multiple dimensions than any other.
The name skyline comes from the view on Manhattan from the Hudson River, where those buildings can be seen that are not hidden by any other.
A building is visible if it is not dominated by a building that is taller or closer to the river (two dimensions, distance to the river minimized, height maximized).
Another application of the skyline operator involves selecting a hotel for a holiday.
The user wants the hotel to be both cheap and close to the beach.
In this case, the skyline operator would only present those hotels that are not worse than any other hotel in both price and distance to the beach.
) can be defined as any strict partial ordering, for example greater (with
Assuming two dimensions and defining dominance in both dimensions as greater, we can compute the skyline in SQL-92 as follows: As an extension to SQL, Börzsönyi et al.[1] proposed the following syntax for the skyline operator: where d1, ... dm denote the dimensions of the skyline and MIN, MAX and DIFF specify whether the value in that dimension should be minimised, maximised or simply be different.
[1] Other algorithms have been proposed that make use of divide and conquer, indices,[1] MapReduce[3] and general-purpose computing on graphics cards.
[4] Skyline queries on data streams (i.e. continuous skyline queries) have been studied in the context of parallel query processing on multicores, owing to their wide diffusion in real-time decision making problems and data streaming analytics.