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.
- 5Self-drivingThe system is fully autonomous.
- 4DirectedThe system is semi-autonomous.
- 3LocalSelf-contained components act on their own.
- 2MixedThe system acts, and alerts the user when a decision is needed.
- 1AssistantThe system recommends promising actions to the user.
- 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
- 1985dblp
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
- 1997dblp
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
- 2000dblp
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
- 2000dblp
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
- 2005dblp
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
- 2006dblp
COLT
HeuristicAction planning & tuningOnline 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
- 2006dblp
GREEDY-SEQ
HeuristicAction planning & tuningTreats 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
- 2007dblp
Online physical design
HeuristicAction planning & tuningKeeps 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
- 2011dblp
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
- 2011DOI
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
- 2011dblp
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
- 2013dblp
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
- 2016dblp
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
- 2017Link
Dexter
HeuristicIndex selectionGroups 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
- 2017dblp
OtterTune
Machine learningAction planning & tuningRecommends 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
- 2017dblp
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
- 2018dblp
QueryBot 5000
Machine learningWorkload forecastingTemplatises 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
- 2019dblp
Azure SQL auto-indexing
HeuristicIndex selectionRuns 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
- 2019arXiv
Hands-free optimiser
Reinforcement learningIndex selectionA 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
- 2019dblp
QPPNet
Machine learningBehaviour modellingA 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
- 2019dblp
QTune
Reinforcement learningAction planning & tuningFeaturises 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
- 2020Link
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
- 2020dblp
GPredictor
Machine learningBehaviour modellingEncodes 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
- 2020DOI
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
- 2020DOI
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
- 2021dblp
DBA bandits
Multi-armed banditIndex selectionin the arenaThe 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
- 2021dblp
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
- 2021dblp
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
- 2021DOI
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
- 2021dblp
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
- 2021dblp
UDO
Reinforcement learningAction planning & tuningTunes 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
- 2022DOI
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).
- 2023DOI
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.
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%
| Row | Query execution | Index creation | Recommendation | Total |
|---|---|---|---|---|
| PDTool | 46.4 min | 2.5 min | 0.6 min | 49.4 min |
| MAB | 55.6 min | 5.7 min | 0.1 min | 61.4 min |
DynamicMAB -6%
| Row | Query execution | Index creation | Recommendation | Total |
|---|---|---|---|---|
| PDTool | 26.4 min | 9.4 min | 1.6 min | 37.3 min |
| MAB | 25.1 min | 9.7 min | 0.1 min | 35.0 min |
RandomMAB -18%
| Row | Query execution | Index creation | Recommendation | Total |
|---|---|---|---|---|
| PDTool | 84.1 min | 14.7 min | 7.5 min | 106 min |
| MAB | 80.4 min | 7.1 min | 0.1 min | 87.6 min |
TPC-DS
StaticMAB -28%
| Row | Query execution | Index creation | Recommendation | Total |
|---|---|---|---|---|
| PDTool | 303 min | 1.4 min | 44.9 min | 349 min |
| MAB | 242 min | 5.9 min | 1.5 min | 250 min |
DynamicMAB -15%
| Row | Query execution | Index creation | Recommendation | Total |
|---|---|---|---|---|
| PDTool | 187 min | 6.1 min | 11.1 min | 204 min |
| MAB | 156 min | 16.5 min | 1.7 min | 174 min |
RandomMAB -61%
| Row | Query execution | Index creation | Recommendation | Total |
|---|---|---|---|---|
| PDTool | 324 min | 8.2 min | 310 min | 642 min |
| MAB | 227 min | 19.8 min | 1.4 min | 248 min |
| Workload | Tool | Rec. | Creation | Execution | Total |
|---|---|---|---|---|---|
| TPC-H (Static) | PDTool | 0.60 | 2.45 | 46.35 | 49.40 |
| TPC-H (Static) | MAB | 0.08 | 5.66 | 55.64 | 61.38 |
| TPC-DS (Static) | PDTool | 44.86 | 1.45 | 302.63 | 348.94 |
| TPC-DS (Static) | MAB | 1.53 | 5.94 | 242.15 | 249.62 |
| TPC-H (Dynamic) | PDTool | 1.55 | 9.36 | 26.35 | 37.25 |
| TPC-H (Dynamic) | MAB | 0.12 | 9.74 | 25.14 | 35.00 |
| TPC-DS (Dynamic) | PDTool | 11.13 | 6.08 | 187.08 | 204.29 |
| TPC-DS (Dynamic) | MAB | 1.66 | 16.48 | 155.65 | 173.79 |
| TPC-H (Random) | PDTool | 7.55 | 14.68 | 84.14 | 106.37 |
| TPC-H (Random) | MAB | 0.08 | 7.06 | 80.43 | 87.57 |
| TPC-DS (Random) | PDTool | 310.22 | 8.23 | 323.57 | 642.01 |
| TPC-DS (Random) | MAB | 1.40 | 19.81 | 227.02 | 248.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.