The Power of How-to Queries joint work with Dan Suciu (University of Washington) Alexandra Meliou

Preview:

Citation preview

The Power of How-to Queries

joint work with Dan Suciu (University of Washington)

Alexandra Meliou

Hypothetical (What-if) Queries

Brokerage companyDB

Key Performance Indicators (KPI)

Example from [Balmin et al. VLDB’00]:“An analyst of a brokerage company wants to know what would be the effect on the return of customers’ portfolios if during the last 3 years they had suggested Intel stocks instead of Motorola.”

change something in the source (hypothesis)

observe the effect in the target

forward

How-To Queries

Brokerage companyDB

Key Performance Indicators (KPI)

Modified example:“An analyst wants to ask how to achieve a 10% return in customer portfolios, with the least number of changes.”

find changes to the source that achieve the desired effect

declare a desired effect in the target

reverse

TPC-H example A manufacturing company keeps records of

inventory orders in a LineItem table. KPI: Cannot order more than 8% of the inventory

from any single country

Can reassign orders to new suppliers as long as the supplier can supply the part

Minimize the number of changes

(constraints)

(variables)

(optimization objective) constraint optimization

extract data

Constraint Optimization on Big Data

DB

construct optimization model

this is for a set of 10 lineitems and 40

suppliers

Mixed Integer Programming (MIP)

solver

transform into data updates

MathProg

Impractical!

Demo: Tiresias

a tool that makes how-to queries practical

Tiresias: How-To Query Engine

DBMS

MIPsolver

Tiresias

TiQL (Tiresias Query Language)

Declarative interface, extension to Datalog

Overview

MathProgor AMPL

TiQL

Visualizations

MathProg or AMPL

TiQL

Visualizations

Overview

Demo

Demo

MathProgor AMPL

TiQL

Visualizations

Overview

Language semantics

Evaluation of a TiQL program: Translation from TiQL to linear constraints

Performance optimizations

Optimizing Performance Model optimizer

eliminates variables, constraints, and parameters uses key constraints, functional dependencies, and

provenance

Partitioning optimizerSignificantly faster than letting the MIP solver do it

Evaluation of the Model Optimizer

baseline

with optimization

Evaluation of Tiresias Partitioning

10k tuples 1M tuples

granularity of partitioning

complex dependency on the granularity of partitioning

Next steps Non-partitionable problems and approximations Soft constraints, diversification of results Interactive visualizations, feedback-based problem

generation Applications

Business intelligence, strategy planning View updates Data cleaning

Take-aways Databases should support how-to queries Data-driven optimizations could benefit the

performance of external tools

Recommended