Skip to content
Self-Driving DB LabCOMP90050 · G40

Survey map

What we read, and how it fits together

Our report organised the field around Kossmann and Schlosser's three components — predict the workload, tune, organise — and followed index selection from heuristics to learning. Every system below is summarised in our own words and linked to the paper.

Report, Table 1

Six levels of autonomy

Pavlo et al. grade a DBMS by how much it does without a person. Level 1 tools recommend; level 3 components act on their own; level 5 is a database that drives itself. Index advisors such as AutoAdmin sit at levels 1–2; online tuners such as the MAB bandit reach level 3 for index selection.

  1. 5Self-drivingThe system is fully autonomous.
  2. 4DirectedThe system is semi-autonomous.
  3. 3LocalSelf-contained components act on their own.
  4. 2MixedThe system acts, and alerts the user when a decision is needed.
  5. 1AssistantThe system recommends promising actions to the user.
  6. 0ManualThe system has no autonomy.

Taxonomy

Systems by component and technique

Filter by the part of the self-driving loop a system addresses, the technique it uses, where it was published and when. Systems marked in the arena are implemented in this lab.

Component

Technique

Venue

33 of 33 systems

  • 1985

    DROP

    HeuristicIndex selectionin the arenareport [19]

    Starts from all single-column indexes and repeatedly drops the one whose removal hurts least. Presented in 1985, published in 1987.

    Index selection in relational databases — Whang, Foundations of Data Organization 1985

    dblp
  • 1997

    AutoAdmin

    HeuristicIndex selectionin the arenareport [6]

    Introduced the what-if optimiser call: per-query candidate selection, Greedy(m, k) enumeration, and multi-column indexes built up one column at a time.

    An efficient, cost-driven index selection tool for Microsoft SQL Server — Chaudhuri & Narasayya, VLDB 1997

    dblp
  • 2000

    DB2 Advisor

    Constraint / LPIndex selectionin the arenareport [18]

    Lets the optimiser plan each query with virtual indexes, credits the gain to the indexes used, solves a knapsack by benefit per byte, then tries random swaps.

    DB2 Advisor: An Optimizer Smart Enough to Recommend Its Own Indexes — Valentin et al., ICDE 2000

    dblp
  • 2000

    Indexes + views

    HeuristicIndex selectionreport [3]

    Extends AutoAdmin to choose indexes and materialised views together, the basis of SQL Server's tuning advisor.

    Automated Selection of Materialized Views and Indexes for SQL Databases — Agrawal, Chaudhuri & Narasayya, VLDB 2000

    dblp
  • 2005

    Resource Advisor

    Analytical modelBehaviour modellingreport [15]

    White-box models that predict how an OLTP system responds to resource changes such as a larger buffer pool.

    Continuous resource monitoring for self-predicting DBMS — Narayanan, Thereska & Ailamaki, MASCOTS 2005

    dblp
  • 2006

    COLT

    HeuristicAction planning & tuning

    Online index tuning that profiles candidate indexes as queries arrive and adjusts the physical design continuously.

    COLT: continuous on-line tuning — Schnaitter et al., SIGMOD (demo) 2006

    dblp
  • 2006

    GREEDY-SEQ

    HeuristicAction planning & tuning

    Treats the workload as a sequence and picks when to apply each design change, merging per-step recommendations greedily.

    Automatic physical design tuning: workload as a sequence — Agrawal, Chu & Narasayya, SIGMOD 2006

    dblp
  • 2007

    Online physical design

    HeuristicAction planning & tuning

    Keeps adjusting indexes in response to the running workload, using execution statistics to pick candidates.

    An Online Approach to Physical Design Tuning — Bruno & Chaudhuri, ICDE 2007

    dblp
  • 2011

    Contender / B2L

    Analytical modelBehaviour modellingreport [8]

    Predicts the latency of analytical queries running concurrently from their buffer-access behaviour.

    Performance prediction for concurrent database workloads — Duggan et al., SIGMOD 2011

    dblp
  • 2011

    CoPhy

    Constraint / LPIndex selectionin the arenareport [7]

    Formulates index selection as a binary integer program over cached plan costs and hands it to a solver; quality depends on how far the solver gets.

    CoPhy: A Scalable, Portable, and Interactive Index Advisor for Large Workloads — Dash, Polyzotis & Ailamaki, PVLDB 2011

    DOI
  • 2011

    Interaction-aware models

    Analytical modelBehaviour modellingreport [4]

    Models how analytical queries in a batch interfere with each other, then simulates the batch to predict its completion time.

    Predicting completion times of batch query workloads using interaction-aware models and simulation — Ahmad et al., EDBT 2011

    dblp
  • 2013

    DBSeer

    Analytical modelBehaviour modellingreport [14]

    Clusters transaction types and predicts disk I/O, CPU and lock contention for what-if workload changes; tied to MySQL.

    Performance and resource modeling in highly-concurrent OLTP workloads — Mozafari et al., SIGMOD 2013

    dblp
  • 2016

    DBSherlock

    Analytical modelBehaviour modellingreport [20]

    Explains performance anomalies to a DBA with predicates over system metrics and causal models.

    DBSherlock: A Performance Diagnostic Tool for Transactional Databases — Yoon, Niu & Mozafari, SIGMOD 2016

    dblp
  • 2017

    Dexter

    HeuristicIndex selection

    Groups queries by template, creates hypothetical indexes with HypoPG and keeps those the planner says reduce cost.

    Dexter: the automatic indexer for Postgres — Andrew Kane, Open source 2017

    Link
  • 2017

    OtterTune

    Machine learningAction planning & tuning

    Recommends knob settings by mapping a new workload onto past ones and running Bayesian optimisation.

    Automatic Database Management System Tuning Through Large-scale Machine Learning — Van Aken et al., SIGMOD 2017

    dblp
  • 2017

    Peloton

    FrameworkArchitecture & visionreport [17]

    The paper that named the field: a DBMS designed from the start to forecast its workload and apply tuning actions without a DBA.

    Self-Driving Database Management Systems — Pavlo et al., CIDR 2017

    dblp
  • 2018

    QueryBot 5000

    Machine learningWorkload forecasting

    Templatises queries, clusters templates by arrival-rate history, and forecasts each cluster with linear regression, an LSTM and kernel regression (the HYBRID model catches rare spikes).

    Query-based Workload Forecasting for Self-Driving Database Management Systems — Ma et al., SIGMOD 2018

    dblp
  • 2019

    Azure SQL auto-indexing

    HeuristicIndex selection

    Runs index tuning as a cloud service, validating every change against production performance and reverting regressions.

    Automatically Indexing Millions of Databases in Microsoft Azure SQL Database — Das et al., SIGMOD 2019

    dblp
  • 2019

    Hands-free optimiser

    Reinforcement learningIndex selection

    A vision for a query optimiser trained end to end with deep reinforcement learning instead of hand-written cost models.

    Towards a Hands-Free Query Optimizer through Deep Learning — Marcus & Papaemmanouil, CIDR 2019

    arXiv
  • 2019

    QPPNet

    Machine learningBehaviour modelling

    A neural network shaped like the query plan, with one small network per operator, predicts query latency.

    Plan-Structured Deep Neural Network Models for Query Performance Prediction — Marcus & Papaemmanouil, PVLDB 2019

    dblp
  • 2019

    QTune

    Reinforcement learningAction planning & tuning

    Featurises the incoming queries and tunes knobs with deep reinforcement learning.

    QTune: A Query-Aware Database Tuning System with Deep Reinforcement Learning — Li et al., PVLDB 2019

    dblp
  • 2020

    DTA (anytime)

    HeuristicIndex selectionreport [5]

    SQL Server's tuning advisor as an anytime algorithm: it returns the best configuration found within a time limit.

    Anytime Algorithm of Database Tuning Advisor for Microsoft SQL Server — Chaudhuri & Narasayya, Microsoft Research 2020

    Link
  • 2020

    GPredictor

    Machine learningBehaviour modelling

    Encodes concurrently running operators and their interactions as a graph and learns to predict latency from it.

    Query Performance Prediction for Concurrent Queries using Graph Embedding — Zhou et al., PVLDB 2020

    dblp
  • 2020

    Index-selection benchmark

    FrameworkEvaluationreport [10]

    Re-implements eight index selection algorithms on one platform and compares their quality, runtime and what-if calls on TPC-H, TPC-DS and JOB.

    Magic Mirror in My Hand, Which is the Best in the Land? An Experimental Evaluation of Index Selection Algorithms — Kossmann et al., PVLDB 2020

    DOI
  • 2020

    Predictor / tuner / organiser

    FrameworkArchitecture & visionreport [9]

    A component framework: a workload predictor feeds tuners for each feature (indexes, knobs, ...), and an organiser decides which tuning to apply and when.

    Self-driving database systems: a conceptual approach — Kossmann & Schlosser, DAPD 2020

    DOI
  • 2021

    DBA bandits

    Multi-armed banditIndex selectionin the arena

    The conference version of the MAB tuner: C²UCB over workload-generated index arms, learning from observed runtimes.

    DBA bandits: Self-driving index tuning under ad-hoc, analytical workloads with safety guarantees — Perera et al., ICDE 2021

    dblp
  • 2021

    Forecast · model · plan

    FrameworkArchitecture & visionreport [12]

    Brings QB5000, ModelBot2 and PilotBot0 together into one pipeline; the backbone of our workload-driven optimisation section.

    Self-Driving Database Management Systems: Forecasting, Modeling, and Planning — Lin Ma, PhD thesis, CMU 2021

    dblp
  • 2021

    ModelBot2 (MB2)

    Machine learningBehaviour modellingreport [13]

    Splits the DBMS into small operating units, trains a model per unit from runner data, and combines them to predict the cost and impact of any candidate action.

    MB2: Decomposed Behavior Modeling for Self-Driving Database Management Systems — Ma et al., SIGMOD 2021

    dblp
  • 2021

    NoisePage

    FrameworkArchitecture & visionreport [16]

    Implementation lessons from NoisePage and the six levels of DBMS autonomy, from manual (0) to fully self-driving (5).

    Make Your Database System Dream of Electric Sheep: Towards Self-Driving Operation — Pavlo et al., PVLDB 2021

    DOI
  • 2021

    PilotBot0 (PB0)

    Reinforcement learningAction planning & tuningreport [12]

    Plans a sequence of actions over a receding horizon with Monte Carlo tree search, using forecasts and behaviour models, and applies the first action each time.

    Self-Driving Database Management Systems: Forecasting, Modeling, and Planning — Lin Ma, PhD thesis, CMU 2021

    dblp
  • 2021

    UDO

    Reinforcement learningAction planning & tuning

    Tunes transaction code, physical design and parameters together with reinforcement learning and Monte Carlo tree search.

    UDO: Universal Database Optimization using Reinforcement Learning — Wang, Trummer & Basu, PVLDB 2021

    dblp
  • 2022

    Budget-aware MCTS

    Reinforcement learningIndex selectionreport [21]

    When what-if calls are rationed, spends them with Monte Carlo tree search over configurations instead of greedy enumeration.

    Budget-aware Index Tuning with Reinforcement Learning — Wu et al., SIGMOD 2022

    Correction: The 2023 report credited this paper to “Yuhao Zhang and Tim Kraska”. It is by Wentao Wu, Chi Wang, Tarique Siddiqui, Junxiong Wang, Vivek Narasayya, Surajit Chaudhuri and Philip A. Bernstein (Microsoft Research and Cornell).

    DOI
  • 2023

    MAB (No DBA? No regret!)

    Multi-armed banditIndex selectionin the arenareport [11]

    Extends DBA bandits to HTAP workloads with a corrected regret proof and focused updates; beats a commercial tuning tool on dynamic and random workloads.

    No DBA? No regret! Multi-armed bandits for index tuning of analytical and HTAP workloads with provable guarantees — Perera, Oetomo, Rubinstein & Borovica-Gajic, IEEE TKDE 2023

    Correction: The 2023 report credited this paper to “Tim Kraska et al.” (SIGMOD 2022). It is by R. Malinga Perera, Bastian Oetomo, Benjamin Rubinstein and Renata Borovica-Gajic (University of Melbourne), IEEE TKDE 2023.

    DOI

Report, Table 2

Total workload time, PDTool vs MAB

Perera et al. broke each tuner's end-to-end time into recommendation, index creation and execution. The arena reports exactly this breakdown for every advisor it runs.

TPC-H

StaticMAB +24%

TPC-H Static: total workload time, PDTool vs MAB (minutes)
RowQuery executionIndex creationRecommendationTotal
PDTool46.4 min2.5 min0.6 min49.4 min
MAB55.6 min5.7 min0.1 min61.4 min

DynamicMAB -6%

TPC-H Dynamic: total workload time, PDTool vs MAB (minutes)
RowQuery executionIndex creationRecommendationTotal
PDTool26.4 min9.4 min1.6 min37.3 min
MAB25.1 min9.7 min0.1 min35.0 min

RandomMAB -18%

TPC-H Random: total workload time, PDTool vs MAB (minutes)
RowQuery executionIndex creationRecommendationTotal
PDTool84.1 min14.7 min7.5 min106 min
MAB80.4 min7.1 min0.1 min87.6 min

TPC-DS

StaticMAB -28%

TPC-DS Static: total workload time, PDTool vs MAB (minutes)
RowQuery executionIndex creationRecommendationTotal
PDTool303 min1.4 min44.9 min349 min
MAB242 min5.9 min1.5 min250 min

DynamicMAB -15%

TPC-DS Dynamic: total workload time, PDTool vs MAB (minutes)
RowQuery executionIndex creationRecommendationTotal
PDTool187 min6.1 min11.1 min204 min
MAB156 min16.5 min1.7 min174 min

RandomMAB -61%

TPC-DS Random: total workload time, PDTool vs MAB (minutes)
RowQuery executionIndex creationRecommendationTotal
PDTool324 min8.2 min310 min642 min
MAB227 min19.8 min1.4 min248 min
Total time breakdown for analytical workloads (minutes)
WorkloadToolRec.CreationExecutionTotal
TPC-H (Static)PDTool0.602.4546.3549.40
TPC-H (Static)MAB0.085.6655.6461.38
TPC-DS (Static)PDTool44.861.45302.63348.94
TPC-DS (Static)MAB1.535.94242.15249.62
TPC-H (Dynamic)PDTool1.559.3626.3537.25
TPC-H (Dynamic)MAB0.129.7425.1435.00
TPC-DS (Dynamic)PDTool11.136.08187.08204.29
TPC-DS (Dynamic)MAB1.6616.48155.65173.79
TPC-H (Random)PDTool7.5514.6884.14106.37
TPC-H (Random)MAB0.087.0680.4387.57
TPC-DS (Random)PDTool310.228.23323.57642.01
TPC-DS (Random)MAB1.4019.81227.02248.24

Corrections

What we got wrong in 2023

Reading the papers again for this revival turned up two attribution mistakes in the report's bibliography. The arguments built on these papers stand; the credits did not.

Want to see these algorithms rather than read about them? Open the arena.