Skip to content

Exasol Xperience is back!

Learn more

Reaching New Heights: How Exasol’s Skyline Feature Elevates Decision Making

Florian Wenzel
· · 4 mins read

Making the right decision can be challenging—whether choosing between a lower-cost or higher-quality product in daily life or tackling complex business challenges like cloud resource optimization, risk assessment, or portfolio management. In these cases, manually weighing all possible options is impractical due to the sheer volume of alternatives and competing priorities.

The Limits of Traditional Analytics

Traditional analytical databases struggle with this complexity because they are designed to find exact matches based on rigid filter criteria. But in real-world business scenarios, perfect solutions rarely exist. Instead, decision-makers must evaluate trade-offs to identify the best possible options. Without the right tools, businesses often resort to inefficient workarounds, such as exporting massive datasets for external analysis or developing complex, domain-specific scoring models.

Meet Exasol’s Skyline Feature

Exasol’s Skyline feature changes the game. It enables analysts to define both must-have (hard) criteria and nice-to-have (soft) criteria, allowing them to instantly surface the best alternatives without complex workarounds. Whether optimizing cloud costs, mitigating financial risks, or selecting the most promising investment opportunities, Skyline empowers businesses to make smarter, faster, and more informed decisions—directly within the database.

Let’s take a closer look at the technology behind Exasol’s Skyline feature. Exasol extends standard SQL—where traditional SELECT and WHERE clauses filter results based on hard constraints—by introducing a PREFERRING clause. This clause enables analysts to define soft constraints, allowing the database to prioritize results that best match multiple competing criteria.

The execution process happens in two stages: First, the database applies standard SQL filtering to narrow down the dataset. Then, the Skyline algorithm refines the remaining results based on the specified soft constraints to find so-called Pareto-optimal solutions. This process is computationally complex, as a naïve approach would require pairwise comparisons between all possible alternatives, resulting in O(n²) complexity—which quickly becomes impractical at scale. To solve this efficiently, Exasol leverages built-in parallelization and advanced distributed algorithms developed in collaboration with leading researchers in the field. This ensures that Skyline queries run efficiently, even on large datasets, making multi-criteria optimization feasible directly within the database—without expensive data extraction or custom post-processing.

Let’s dive into a practical example and imagine we want to analyse the dataset investment_options:

idinv_typeexpected _returnvolatilitydividendesgcost
1Currency2.37Low Risk7.27781.23
2Fund19.46Low Risk1.92550.84
3Stock16.98Low Risk1.16380.80
4Currency5.82High Risk3.92860.37
5Currency5.27High Risk7.89380.15
6Fund5.30High Risk1.94391.35
7Stock7.48Medium Risk5.38901.35
8Stock11.45Low Risk6.09710.95
9Currency9.78High Risk1.90520.52
10Crypto7.24Medium Risk5.83590.53

We want to retrieve the datapoints with the highest expected return and with lowest transaction cost. We also want to exclude Crypto from our evaluation:

SELECT id, inv_type, expected_return, cost
FROM investment_options
WHERE inv_type NOT IN ('Crypto')
PREFERRING HIGH expected_return PLUS LOW cost;

Let’s have a closer look at the result in green:

idinv_typeexpected _returncost
1Currency2.371.23
2Fund19.460.84
3Stock16.980.80
4Currency5.820.37
5Currency5.270.15
6Fund5.301.35
7Stock7.481.35
8Stock11.450.95
9Currency9.780.52
10Crypto7.240.53

We easily see that all the returned data points are better in at least one dimension and not worse in the other dimension compared to the rejected options. We also clearly see trade-offs between higher return and lower cost.

Now let’s create a different query. We are preferring low risk investments with a high dividend. For the dividend percentage we don’t care about slight differences, 2% points up or down shouldn’t matter. We want to include the esg score as a tiebreaker:

SELECT id, inv_type, volatility, dividend, esg
FROM investment_options
WHERE inv_type NOT IN ('Crypto')
PREFERRING (HIGH (volatility IN ('Low Risk'))) PLUS HIGH (CEIL(dividend/2)) PRIOR TO HIGH esg; 
idinv_typevolatilitydividendesg
1CurrencyLow Risk7.2778
2FundLow Risk1.9255
3StockLow Risk1.1638
4CurrencyHigh Risk3.9286
5CurrencyHigh Risk7.8938
6FundHigh Risk1.9439
7StockMedium Risk5.3890
8StockLow Risk6.0971
9CurrencyHigh Risk1.9052
10CryptoMedium Risk5.8359

The constraint for volatility and dividend would return datapoints 1 and 8, the esg as tiebreaker leaves 1 as best solution. By using PRIOR TO instead of PLUS we state that the last constraint is less important than the other ones.

There are plenty of more opportunities to define any distance function per attribute to minimize or maximize. Skyline even handles the most complex optimization problems with ease, helping your organization to make smarter decisions faster. Check out our documentation for more information and get started with our community edition to test for yourself.

data-analytics database
Florian Wenzel
Florian Wenzel

As VP of Product Management at Exasol, Florian Wenzel is dedicated to developing products that customers love. His key responsibilities include aligning direct customer needs with innovative features to create impactful and strategic product roadmaps. Florian brings a wealth of experience to his role, having previously served as the Global Head of Solution Engineering. This position honed his deep understanding of diverse use cases and equipped him with extensive expertise in database technologies—an area he has thoroughly explored during his PhD studies. With a strong foundation in customer-focused product development and technical proficiency, Florian continues to drive Exasol’s mission to deliver outstanding database solutions.