76
@andy_pavlo

Make Your Database Dream of Electric Sheep: Designing for …pavlo/slides/selfdriving-sfo2018.pdf · 2020-03-19 · Part #1 Part #2 Part #3 Background Engineering Oracle Rant. AUTONOMOUS

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 2: Make Your Database Dream of Electric Sheep: Designing for …pavlo/slides/selfdriving-sfo2018.pdf · 2020-03-19 · Part #1 Part #2 Part #3 Background Engineering Oracle Rant. AUTONOMOUS

Part #1

Part #2

Part #3

Background

Engineering

Oracle Rant

Page 3: Make Your Database Dream of Electric Sheep: Designing for …pavlo/slides/selfdriving-sfo2018.pdf · 2020-03-19 · Part #1 Part #2 Part #3 Background Engineering Oracle Rant. AUTONOMOUS

AUTONOMOUS DBMSs 3SELF-ADAPTIVE DATABASES

1970-1990sSelf-Adaptive

Databases

→Index Selection→Partitioning / Sharding→Data Placement

Page 4: Make Your Database Dream of Electric Sheep: Designing for …pavlo/slides/selfdriving-sfo2018.pdf · 2020-03-19 · Part #1 Part #2 Part #3 Background Engineering Oracle Rant. AUTONOMOUS

AUTONOMOUS DBMSs 3SELF-ADAPTIVE DATABASES

1970-1990sSelf-Adaptive

Databases

SELECT * FROM A JOIN BON A.ID = B.ID

WHERE A.VAL > 123AND B.NAME LIKE 'XY%'

Admin

Page 5: Make Your Database Dream of Electric Sheep: Designing for …pavlo/slides/selfdriving-sfo2018.pdf · 2020-03-19 · Part #1 Part #2 Part #3 Background Engineering Oracle Rant. AUTONOMOUS

AUTONOMOUS DBMSs 3SELF-ADAPTIVE DATABASES

1970-1990sSelf-Adaptive

Databases

SELECT * FROM A JOIN BON A.ID = B.ID

WHERE A.VAL > 123AND B.NAME LIKE 'XY%'

A.IDA.VALB.ID

B.NAMETuning

Algorithm

Admin

Page 6: Make Your Database Dream of Electric Sheep: Designing for …pavlo/slides/selfdriving-sfo2018.pdf · 2020-03-19 · Part #1 Part #2 Part #3 Background Engineering Oracle Rant. AUTONOMOUS

AUTONOMOUS DBMSs 3SELF-ADAPTIVE DATABASES

1970-1990sSelf-Adaptive

Databases

SELECT * FROM A JOIN BON A.ID = B.ID

WHERE A.VAL > 123AND B.NAME LIKE 'XY%'

A.IDA.VALB.ID

B.NAME

+100 +200 +50

TuningAlgorithm

Admin

Page 7: Make Your Database Dream of Electric Sheep: Designing for …pavlo/slides/selfdriving-sfo2018.pdf · 2020-03-19 · Part #1 Part #2 Part #3 Background Engineering Oracle Rant. AUTONOMOUS

AUTONOMOUS DBMSs 3SELF-ADAPTIVE DATABASES

1970-1990sSelf-Adaptive

Databases

SELECT * FROM A JOIN BON A.ID = B.ID

WHERE A.VAL > 123AND B.NAME LIKE 'XY%'

A.IDA.VALB.ID

B.NAME

+100 +200 +50

TuningAlgorithm

Admin

Page 8: Make Your Database Dream of Electric Sheep: Designing for …pavlo/slides/selfdriving-sfo2018.pdf · 2020-03-19 · Part #1 Part #2 Part #3 Background Engineering Oracle Rant. AUTONOMOUS

AUTONOMOUS DBMSs 3SELF-ADAPTIVE DATABASES

1970-1990sSelf-Adaptive

Databases

SELECT * FROM A JOIN BON A.ID = B.ID

WHERE A.VAL > 123AND B.NAME LIKE 'XY%'

A.IDA.VALB.ID

B.NAME

+100 +200 +50

TuningAlgorithm

Admin

Page 9: Make Your Database Dream of Electric Sheep: Designing for …pavlo/slides/selfdriving-sfo2018.pdf · 2020-03-19 · Part #1 Part #2 Part #3 Background Engineering Oracle Rant. AUTONOMOUS

AUTONOMOUS DBMSs 3SELF-ADAPTIVE DATABASES

1970-1990sSelf-Adaptive

Databases

SELECT * FROM A JOIN BON A.ID = B.ID

WHERE A.VAL > 123AND B.NAME LIKE 'XY%'

A.IDA.VALB.ID

B.NAMETuning

Algorithm

Admin

→Index Selection→Partitioning / Sharding→Data Placement

Page 10: Make Your Database Dream of Electric Sheep: Designing for …pavlo/slides/selfdriving-sfo2018.pdf · 2020-03-19 · Part #1 Part #2 Part #3 Background Engineering Oracle Rant. AUTONOMOUS

AUTONOMOUS DBMSs 4SELF-TUNING DATABASES

1990-2000sSelf-TuningDatabases

SELECT * FROM A JOIN BON A.ID = B.ID

WHERE A.VAL > 123AND B.NAME LIKE 'XY%'

TuningAlgorithm

Admin

→Index Selection→Partitioning / Sharding→Data Placement

A.IDA.VALB.ID

B.NAME

Page 11: Make Your Database Dream of Electric Sheep: Designing for …pavlo/slides/selfdriving-sfo2018.pdf · 2020-03-19 · Part #1 Part #2 Part #3 Background Engineering Oracle Rant. AUTONOMOUS

AUTONOMOUS DBMSs 4SELF-TUNING DATABASES

1990-2000sSelf-TuningDatabases

SELECT * FROM A JOIN BON A.ID = B.ID

WHERE A.VAL > 123AND B.NAME LIKE 'XY%'

TuningAlgorithm

Admin

AutoAdmin

A.IDA.VALB.ID

B.NAME

OptimizerCost Model

Page 12: Make Your Database Dream of Electric Sheep: Designing for …pavlo/slides/selfdriving-sfo2018.pdf · 2020-03-19 · Part #1 Part #2 Part #3 Background Engineering Oracle Rant. AUTONOMOUS

AUTONOMOUS DBMSs 4SELF-TUNING DATABASES

1990-2000sSelf-TuningDatabases

SELECT * FROM A JOIN BON A.ID = B.ID

WHERE A.VAL > 123AND B.NAME LIKE 'XY%'

TuningAlgorithm

Admin

AutoAdmin

A.IDA.VALB.ID

B.NAME

OptimizerCost Model

Page 13: Make Your Database Dream of Electric Sheep: Designing for …pavlo/slides/selfdriving-sfo2018.pdf · 2020-03-19 · Part #1 Part #2 Part #3 Background Engineering Oracle Rant. AUTONOMOUS

541

291

0

200

400

600

2000 2004 2008 2012 2016

Number of Knobs

AUTONOMOUS DBMSs 4SELF-TUNING DATABASES

1990-2000sSelf-TuningDatabases →Knob Configuration

Page 14: Make Your Database Dream of Electric Sheep: Designing for …pavlo/slides/selfdriving-sfo2018.pdf · 2020-03-19 · Part #1 Part #2 Part #3 Background Engineering Oracle Rant. AUTONOMOUS

AUTONOMOUS DBMSs 5CLOUD MANAGED DATABASES

2010sCloud

Databases

Page 15: Make Your Database Dream of Electric Sheep: Designing for …pavlo/slides/selfdriving-sfo2018.pdf · 2020-03-19 · Part #1 Part #2 Part #3 Background Engineering Oracle Rant. AUTONOMOUS

AUTONOMOUS DBMSs 5CLOUD MANAGED DATABASES

2010sCloud

Databases

Page 16: Make Your Database Dream of Electric Sheep: Designing for …pavlo/slides/selfdriving-sfo2018.pdf · 2020-03-19 · Part #1 Part #2 Part #3 Background Engineering Oracle Rant. AUTONOMOUS

AUTONOMOUS DBMSs 5CLOUD MANAGED DATABASES

2010sCloud

Databases

→Initial Placement→Tenant Migration

Page 17: Make Your Database Dream of Electric Sheep: Designing for …pavlo/slides/selfdriving-sfo2018.pdf · 2020-03-19 · Part #1 Part #2 Part #3 Background Engineering Oracle Rant. AUTONOMOUS

Why is this previous workinsufficient?

Page 18: Make Your Database Dream of Electric Sheep: Designing for …pavlo/slides/selfdriving-sfo2018.pdf · 2020-03-19 · Part #1 Part #2 Part #3 Background Engineering Oracle Rant. AUTONOMOUS

AUTONOMOUS DBMSs 7A BRIEF HISTORY

Problem #1Human

Judgements

Problem #2Reactionary

Measures

Page 19: Make Your Database Dream of Electric Sheep: Designing for …pavlo/slides/selfdriving-sfo2018.pdf · 2020-03-19 · Part #1 Part #2 Part #3 Background Engineering Oracle Rant. AUTONOMOUS

What is different this time?

Page 20: Make Your Database Dream of Electric Sheep: Designing for …pavlo/slides/selfdriving-sfo2018.pdf · 2020-03-19 · Part #1 Part #2 Part #3 Background Engineering Oracle Rant. AUTONOMOUS

AUTONOMOUS DATABASES

Better hardware.Better machine learning tools.Better appreciation for data.

We seek to complete the circle in autonomous databases.

WHY NOW?

Page 21: Make Your Database Dream of Electric Sheep: Designing for …pavlo/slides/selfdriving-sfo2018.pdf · 2020-03-19 · Part #1 Part #2 Part #3 Background Engineering Oracle Rant. AUTONOMOUS

CARNEGIE MELLON UNIVERSITY 10RESEARCH PROJECTS

OtterTuneExistingSystems

PelotonNew

System

Page 22: Make Your Database Dream of Electric Sheep: Designing for …pavlo/slides/selfdriving-sfo2018.pdf · 2020-03-19 · Part #1 Part #2 Part #3 Background Engineering Oracle Rant. AUTONOMOUS

OtterTune

Database Tuning-as-a-Service

→ Automatically generate DBMS knob configurations.

→ Reuse data from previous tuning sessions.

ottertune.cs.cmu.edu SupportedSystems

Page 23: Make Your Database Dream of Electric Sheep: Designing for …pavlo/slides/selfdriving-sfo2018.pdf · 2020-03-19 · Part #1 Part #2 Part #3 Background Engineering Oracle Rant. AUTONOMOUS

OTTERTUNE 12AUTOMATIC DBMS TUNING SERVICE

TARGETDATABASE

CONTROLLERCOLLECTOR

Page 24: Make Your Database Dream of Electric Sheep: Designing for …pavlo/slides/selfdriving-sfo2018.pdf · 2020-03-19 · Part #1 Part #2 Part #3 Background Engineering Oracle Rant. AUTONOMOUS

OTTERTUNE 12AUTOMATIC DBMS TUNING SERVICE

TARGETDATABASE

TUNING MANAGERCONTROLLERCOLLECTOR

Configuration Recommender

KnobAnalyzer

MetricAnalyzer

InternalRepository

Page 25: Make Your Database Dream of Electric Sheep: Designing for …pavlo/slides/selfdriving-sfo2018.pdf · 2020-03-19 · Part #1 Part #2 Part #3 Background Engineering Oracle Rant. AUTONOMOUS

OTTERTUNE 12AUTOMATIC DBMS TUNING SERVICE

TARGETDATABASE

TUNING MANAGERCONTROLLERCOLLECTOR

Configuration Recommender

KnobAnalyzer

MetricAnalyzer

InternalRepository

Page 26: Make Your Database Dream of Electric Sheep: Designing for …pavlo/slides/selfdriving-sfo2018.pdf · 2020-03-19 · Part #1 Part #2 Part #3 Background Engineering Oracle Rant. AUTONOMOUS

OTTERTUNE 12AUTOMATIC DBMS TUNING SERVICE

TARGETDATABASE

TUNING MANAGERCONTROLLERCOLLECTOR

Configuration Recommender

KnobAnalyzer

MetricAnalyzer

InternalRepository

Page 27: Make Your Database Dream of Electric Sheep: Designing for …pavlo/slides/selfdriving-sfo2018.pdf · 2020-03-19 · Part #1 Part #2 Part #3 Background Engineering Oracle Rant. AUTONOMOUS

OTTERTUNE 12AUTOMATIC DBMS TUNING SERVICE

TARGETDATABASE

TUNING MANAGERCONTROLLERCOLLECTOR

Configuration Recommender

KnobAnalyzer

MetricAnalyzer

InternalRepository

Page 28: Make Your Database Dream of Electric Sheep: Designing for …pavlo/slides/selfdriving-sfo2018.pdf · 2020-03-19 · Part #1 Part #2 Part #3 Background Engineering Oracle Rant. AUTONOMOUS

OTTERTUNE 12AUTOMATIC DBMS TUNING SERVICE

TARGETDATABASE

TUNING MANAGERCONTROLLERCOLLECTOR

Configuration Recommender

KnobAnalyzer

MetricAnalyzer

InternalRepository

Page 29: Make Your Database Dream of Electric Sheep: Designing for …pavlo/slides/selfdriving-sfo2018.pdf · 2020-03-19 · Part #1 Part #2 Part #3 Background Engineering Oracle Rant. AUTONOMOUS

OTTERTUNE 12AUTOMATIC DBMS TUNING SERVICE

TARGETDATABASE

TUNING MANAGERCONTROLLERCOLLECTOR

Configuration Recommender

KnobAnalyzer

MetricAnalyzer

InternalRepository

Page 30: Make Your Database Dream of Electric Sheep: Designing for …pavlo/slides/selfdriving-sfo2018.pdf · 2020-03-19 · Part #1 Part #2 Part #3 Background Engineering Oracle Rant. AUTONOMOUS

OTTERTUNE 12AUTOMATIC DBMS TUNING SERVICE

TARGETDATABASE

TUNING MANAGERCONTROLLERCOLLECTOR

Configuration Recommender

KnobAnalyzer

MetricAnalyzer

InternalRepository

INSTALL AGENT

Page 31: Make Your Database Dream of Electric Sheep: Designing for …pavlo/slides/selfdriving-sfo2018.pdf · 2020-03-19 · Part #1 Part #2 Part #3 Background Engineering Oracle Rant. AUTONOMOUS

OTTERTUNE 13DEMO

DemonstrationPostgres v9.3

TPC-C Benchmark

Page 32: Make Your Database Dream of Electric Sheep: Designing for …pavlo/slides/selfdriving-sfo2018.pdf · 2020-03-19 · Part #1 Part #2 Part #3 Background Engineering Oracle Rant. AUTONOMOUS

OTTERTUNE

TPC-C TUNING

AUTOMATIC DATABASE MANAGEMENT SYSTEM TUNING THROUGH LARGE-SCALE MACHINE LEARNINGSIGMOD 2017

165

508 562

736 686

0

250

500

750

1000

426

845714

843946

0

250

500

750

1000Throughput (txn/sec)

Default RDS DBAScripts OtterTune

14

Page 33: Make Your Database Dream of Electric Sheep: Designing for …pavlo/slides/selfdriving-sfo2018.pdf · 2020-03-19 · Part #1 Part #2 Part #3 Background Engineering Oracle Rant. AUTONOMOUS

Peloton

Self-Driving Database System

→ In-memory DBMS with integrated ML/RL framework.

→ Designed for autonomous operations.

pelotondb.io

Page 34: Make Your Database Dream of Electric Sheep: Designing for …pavlo/slides/selfdriving-sfo2018.pdf · 2020-03-19 · Part #1 Part #2 Part #3 Background Engineering Oracle Rant. AUTONOMOUS

PELOTON 16THE SELF-DRIVING DBMS

TARGETDATABASE

WORKLOADHISTORY

Page 35: Make Your Database Dream of Electric Sheep: Designing for …pavlo/slides/selfdriving-sfo2018.pdf · 2020-03-19 · Part #1 Part #2 Part #3 Background Engineering Oracle Rant. AUTONOMOUS

PELOTON 16THE SELF-DRIVING DBMS

FORECAST MODELSTARGET

DATABASE

WORKLOADHISTORY

Page 36: Make Your Database Dream of Electric Sheep: Designing for …pavlo/slides/selfdriving-sfo2018.pdf · 2020-03-19 · Part #1 Part #2 Part #3 Background Engineering Oracle Rant. AUTONOMOUS

"THE BRAIN"PELOTON 16THE SELF-DRIVING DBMS

FORECAST MODELS

Search Tree

ACTIONCATALOG

TARGETDATABASE

WORKLOADHISTORY

Page 37: Make Your Database Dream of Electric Sheep: Designing for …pavlo/slides/selfdriving-sfo2018.pdf · 2020-03-19 · Part #1 Part #2 Part #3 Background Engineering Oracle Rant. AUTONOMOUS

"THE BRAIN"PELOTON 16THE SELF-DRIVING DBMS

FORECAST MODELS

Search Tree

ACTIONCATALOG

ACTION SEQUENCETARGET

DATABASE

WORKLOADHISTORY

Page 38: Make Your Database Dream of Electric Sheep: Designing for …pavlo/slides/selfdriving-sfo2018.pdf · 2020-03-19 · Part #1 Part #2 Part #3 Background Engineering Oracle Rant. AUTONOMOUS

"THE BRAIN"PELOTON 16THE SELF-DRIVING DBMS

FORECAST MODELS

Search Tree

ACTIONCATALOG

ACTION SEQUENCETARGET

DATABASE

WORKLOADHISTORY

Page 39: Make Your Database Dream of Electric Sheep: Designing for …pavlo/slides/selfdriving-sfo2018.pdf · 2020-03-19 · Part #1 Part #2 Part #3 Background Engineering Oracle Rant. AUTONOMOUS

"THE BRAIN"PELOTON 16THE SELF-DRIVING DBMS

FORECAST MODELS

Search Tree

ACTIONCATALOG

ACTION SEQUENCETARGET

DATABASE

WORKLOADHISTORY

Page 40: Make Your Database Dream of Electric Sheep: Designing for …pavlo/slides/selfdriving-sfo2018.pdf · 2020-03-19 · Part #1 Part #2 Part #3 Background Engineering Oracle Rant. AUTONOMOUS

"THE BRAIN"PELOTON 16THE SELF-DRIVING DBMS

FORECAST MODELS

Search Tree

ACTIONCATALOG

ACTION SEQUENCETARGET

DATABASE

WORKLOADHISTORY ?

??

Page 41: Make Your Database Dream of Electric Sheep: Designing for …pavlo/slides/selfdriving-sfo2018.pdf · 2020-03-19 · Part #1 Part #2 Part #3 Background Engineering Oracle Rant. AUTONOMOUS

PELOTON

BUS TRACKING APP WITH ONE-HOUR HORIZON

QUERY-BASED WORKLOAD FORECASTING FOR SELF-DRIVING DATABASE MANAGEMENT SYSTEMSIGMOD 2018

0

15000

30000

45000

60000

9-Jan 11-Jan 13-Jan 15-Jan 17-Jan

Ensemble (LR+RNN)

17

Actual Predicted

Que

ries

Per

Hou

r

Page 42: Make Your Database Dream of Electric Sheep: Designing for …pavlo/slides/selfdriving-sfo2018.pdf · 2020-03-19 · Part #1 Part #2 Part #3 Background Engineering Oracle Rant. AUTONOMOUS

PELOTON

ADMISSIONS APP WITH THREE-DAY HORIZON

0

5

10

15

26-Nov 30-Nov 4-Dec 8-Dec 12-Dec 16-Dec

Mill

ions

Actual Predicted

Ensemble (LR+RNN)

18Q

ueri

es P

er H

our

Page 43: Make Your Database Dream of Electric Sheep: Designing for …pavlo/slides/selfdriving-sfo2018.pdf · 2020-03-19 · Part #1 Part #2 Part #3 Background Engineering Oracle Rant. AUTONOMOUS

PELOTON

ADMISSIONS APP WITH THREE-DAY HORIZON

0

5

10

15

26-Nov 30-Nov 4-Dec 8-Dec 12-Dec 16-Dec

Mill

ions

Actual Predicted

Ensemble (LR+RNN)

18Q

ueri

es P

er H

our

Page 44: Make Your Database Dream of Electric Sheep: Designing for …pavlo/slides/selfdriving-sfo2018.pdf · 2020-03-19 · Part #1 Part #2 Part #3 Background Engineering Oracle Rant. AUTONOMOUS

PELOTON

ADMISSIONS APP WITH THREE-DAY HORIZON

0

5

10

15

26-Nov 30-Nov 4-Dec 8-Dec 12-Dec 16-Dec

Mill

ions

Actual Predicted

0

5

10

15

26-Nov 30-Nov 4-Dec 8-Dec 12-Dec 16-Dec

Mill

ions

Ensemble (LR+RNN)

Hybrid (LR+RNN+KR)

18Q

ueri

es P

er H

our

Page 45: Make Your Database Dream of Electric Sheep: Designing for …pavlo/slides/selfdriving-sfo2018.pdf · 2020-03-19 · Part #1 Part #2 Part #3 Background Engineering Oracle Rant. AUTONOMOUS

OTTERTUNE 19DEMO

Let's on checkthe demo…

Page 46: Make Your Database Dream of Electric Sheep: Designing for …pavlo/slides/selfdriving-sfo2018.pdf · 2020-03-19 · Part #1 Part #2 Part #3 Background Engineering Oracle Rant. AUTONOMOUS

Design Considerations forAutonomous Operation

Page 47: Make Your Database Dream of Electric Sheep: Designing for …pavlo/slides/selfdriving-sfo2018.pdf · 2020-03-19 · Part #1 Part #2 Part #3 Background Engineering Oracle Rant. AUTONOMOUS

AUTONMOUS DBMS 21DESIGN CONSIDERATIONS

ConfigurationKnobs

InternalMetrics

ActionEngineering

Page 48: Make Your Database Dream of Electric Sheep: Designing for …pavlo/slides/selfdriving-sfo2018.pdf · 2020-03-19 · Part #1 Part #2 Part #3 Background Engineering Oracle Rant. AUTONOMOUS

Anything that requires a human value judgement should be marked as off-limits to autonomous components.

– File Paths– Network Addresses– Durability / Isolation Levels

22UNTUNABLE KNOBS

CONFIGURATION KNOBS

Page 49: Make Your Database Dream of Electric Sheep: Designing for …pavlo/slides/selfdriving-sfo2018.pdf · 2020-03-19 · Part #1 Part #2 Part #3 Background Engineering Oracle Rant. AUTONOMOUS

CONFIGURATION KNOBS

The autonomous components need hints about how to change a knob

– Min/max ranges.– Separate knobs to enable/disable a feature.– Non-uniform deltas.

23HOW TO CHANGE

Page 50: Make Your Database Dream of Electric Sheep: Designing for …pavlo/slides/selfdriving-sfo2018.pdf · 2020-03-19 · Part #1 Part #2 Part #3 Background Engineering Oracle Rant. AUTONOMOUS

CONFIGURATION KNOBS

The autonomous components need hints about how to change a knob

– Min/max ranges.– Separate knobs to enable/disable a feature.– Non-uniform deltas.

23HOW TO CHANGE

1 KB 1 MB 1 GB 1 TB+10 KB +10 MB +10 GB

Page 51: Make Your Database Dream of Electric Sheep: Designing for …pavlo/slides/selfdriving-sfo2018.pdf · 2020-03-19 · Part #1 Part #2 Part #3 Background Engineering Oracle Rant. AUTONOMOUS

CONFIGURATION KNOBS

The autonomous components need hints about how to change a knob

– Min/max ranges.– Separate knobs to enable/disable a feature.– Non-uniform deltas.

23HOW TO CHANGE

Page 52: Make Your Database Dream of Electric Sheep: Designing for …pavlo/slides/selfdriving-sfo2018.pdf · 2020-03-19 · Part #1 Part #2 Part #3 Background Engineering Oracle Rant. AUTONOMOUS

CONFIGURATION KNOBS

Indicate which knobs are constrained by hardware resources.

– The sum of all buffers cannot exceed the total amount of available memory.

The problem is that sometimes it makes sense to overprovision.

24HARDWARE RESOURCES

Page 53: Make Your Database Dream of Electric Sheep: Designing for …pavlo/slides/selfdriving-sfo2018.pdf · 2020-03-19 · Part #1 Part #2 Part #3 Background Engineering Oracle Rant. AUTONOMOUS

INTERNAL METRICS

Expose DBMS's hardware capabilities:– CPU, Memory, Disk, Network

25HARDWARE INFORMATION

Configuration Recommender

Page 54: Make Your Database Dream of Electric Sheep: Designing for …pavlo/slides/selfdriving-sfo2018.pdf · 2020-03-19 · Part #1 Part #2 Part #3 Background Engineering Oracle Rant. AUTONOMOUS

INTERNAL METRICS

Expose DBMS's hardware capabilities:– CPU, Memory, Disk, Network

Otherwise you have to come up with clever ways to approximate this…

25HARDWARE INFORMATION

MicrobenchmarkThreads

Page 55: Make Your Database Dream of Electric Sheep: Designing for …pavlo/slides/selfdriving-sfo2018.pdf · 2020-03-19 · Part #1 Part #2 Part #3 Background Engineering Oracle Rant. AUTONOMOUS

INTERNAL METRICS 26HARDWARE MICROBENCHMARKS

c3.large

i3.largem3.lar…r3.large

c3.xlarger3.xlargei2.xlarge

i3.xlarge

m3.xlar…

d2.xlar…

c3.2xlarged2.2xlargeh1.2xlarge

i2.2xlarge

i3.2xlarge

m3.2xlar…

r3.2xlarge

c3.4xlarged2.4xlar…

h1.4xlarge

i2.4xlarge

i3.4xlarge

r3.4xlarge

c3.8xlarge

h1.8xlarge

-0.3

-0.2

-0.1

0

0.1

0.2

0.3

0.60 0.64 0.68 0.72 0.76 0.80

Fact

or 2

Factor 1

2 vCPUs 4 vCPUs 8 vCPUs 16 vCPUs 32 vCPUs

Factor Analysis

Page 56: Make Your Database Dream of Electric Sheep: Designing for …pavlo/slides/selfdriving-sfo2018.pdf · 2020-03-19 · Part #1 Part #2 Part #3 Background Engineering Oracle Rant. AUTONOMOUS

INTERNAL METRICS

If the DBMS has sub-components that are tunable, then it must expose separate metrics for those components.

Bad Example:

27SUB-COMPONENTS

Page 57: Make Your Database Dream of Electric Sheep: Designing for …pavlo/slides/selfdriving-sfo2018.pdf · 2020-03-19 · Part #1 Part #2 Part #3 Background Engineering Oracle Rant. AUTONOMOUS

INTERNAL METRICS 28SUB-COMPONENTS

RocksDB Column Family Knobs

Column Family Metrics

Missing:ReadsWrites

Page 58: Make Your Database Dream of Electric Sheep: Designing for …pavlo/slides/selfdriving-sfo2018.pdf · 2020-03-19 · Part #1 Part #2 Part #3 Background Engineering Oracle Rant. AUTONOMOUS

INTERNAL METRICS 28SUB-COMPONENTS

RocksDB Column Family Knobs

Global Metrics

AggregatedMetrics

Page 59: Make Your Database Dream of Electric Sheep: Designing for …pavlo/slides/selfdriving-sfo2018.pdf · 2020-03-19 · Part #1 Part #2 Part #3 Background Engineering Oracle Rant. AUTONOMOUS

ACTION ENGINEERING

No action should ever require the DBMS to restart in order for it to take affect.

The commercial systems are much better than this than the open-source systems.

29NO SHUTDOWN

Page 60: Make Your Database Dream of Electric Sheep: Designing for …pavlo/slides/selfdriving-sfo2018.pdf · 2020-03-19 · Part #1 Part #2 Part #3 Background Engineering Oracle Rant. AUTONOMOUS

ACTION ENGINEERING

Provide a notification callback to indicate when an action starts and when it completes.

Harder for changes that can be used before the action completes.

30NOTIFICATIONS

Page 61: Make Your Database Dream of Electric Sheep: Designing for …pavlo/slides/selfdriving-sfo2018.pdf · 2020-03-19 · Part #1 Part #2 Part #3 Background Engineering Oracle Rant. AUTONOMOUS

ACTION ENGINEERING

Support executing the same action with different resource usage levels.

31RESOURCE USAGE

Page 62: Make Your Database Dream of Electric Sheep: Designing for …pavlo/slides/selfdriving-sfo2018.pdf · 2020-03-19 · Part #1 Part #2 Part #3 Background Engineering Oracle Rant. AUTONOMOUS

ACTION ENGINEERING

Allow replica configurations to diverge from each other.

32REPLICA EXPLORATION

Master

Replicas

Page 63: Make Your Database Dream of Electric Sheep: Designing for …pavlo/slides/selfdriving-sfo2018.pdf · 2020-03-19 · Part #1 Part #2 Part #3 Background Engineering Oracle Rant. AUTONOMOUS

ACTION ENGINEERING

Allow replica configurations to diverge from each other.

32REPLICA EXPLORATION

Master

Replicas

Page 64: Make Your Database Dream of Electric Sheep: Designing for …pavlo/slides/selfdriving-sfo2018.pdf · 2020-03-19 · Part #1 Part #2 Part #3 Background Engineering Oracle Rant. AUTONOMOUS

ACTION ENGINEERING

Allow replica configurations to diverge from each other.

32REPLICA EXPLORATION

Master

Replicas

Page 65: Make Your Database Dream of Electric Sheep: Designing for …pavlo/slides/selfdriving-sfo2018.pdf · 2020-03-19 · Part #1 Part #2 Part #3 Background Engineering Oracle Rant. AUTONOMOUS

ACTION ENGINEERING

Allow replica configurations to diverge from each other.

32REPLICA EXPLORATION

Master

Replicas

Page 66: Make Your Database Dream of Electric Sheep: Designing for …pavlo/slides/selfdriving-sfo2018.pdf · 2020-03-19 · Part #1 Part #2 Part #3 Background Engineering Oracle Rant. AUTONOMOUS

ACTION ENGINEERING

Allow replica configurations to diverge from each other.

32REPLICA EXPLORATION

Master

Replicas

Page 67: Make Your Database Dream of Electric Sheep: Designing for …pavlo/slides/selfdriving-sfo2018.pdf · 2020-03-19 · Part #1 Part #2 Part #3 Background Engineering Oracle Rant. AUTONOMOUS

What About Oracle'sSelf-Driving DBMS?

Page 68: Make Your Database Dream of Electric Sheep: Designing for …pavlo/slides/selfdriving-sfo2018.pdf · 2020-03-19 · Part #1 Part #2 Part #3 Background Engineering Oracle Rant. AUTONOMOUS

ORACLE

SELF-DRIVING DBMS34

September 2017 January 2017

Page 69: Make Your Database Dream of Electric Sheep: Designing for …pavlo/slides/selfdriving-sfo2018.pdf · 2020-03-19 · Part #1 Part #2 Part #3 Background Engineering Oracle Rant. AUTONOMOUS

ORACLE

Automatic Indexing

Automatic Recovery

Automatic Scaling

Automatic Query Tuning

SELF-DRIVING DBMS34

September 2017

Page 70: Make Your Database Dream of Electric Sheep: Designing for …pavlo/slides/selfdriving-sfo2018.pdf · 2020-03-19 · Part #1 Part #2 Part #3 Background Engineering Oracle Rant. AUTONOMOUS

ORACLE

Automatic Indexing

Automatic Recovery

Automatic Scaling

Automatic Query Tuning

SELF-DRIVING DBMS34

Problem #2Reactionary

Measures

September 2017

Page 71: Make Your Database Dream of Electric Sheep: Designing for …pavlo/slides/selfdriving-sfo2018.pdf · 2020-03-19 · Part #1 Part #2 Part #3 Background Engineering Oracle Rant. AUTONOMOUS

ORACLE

Automatic Indexing

Automatic Recovery

Automatic Scaling

Automatic Query Tuning

SELF-DRIVING DBMS34

Problem #2Reactionary

Measures

September 2017

Page 72: Make Your Database Dream of Electric Sheep: Designing for …pavlo/slides/selfdriving-sfo2018.pdf · 2020-03-19 · Part #1 Part #2 Part #3 Background Engineering Oracle Rant. AUTONOMOUS

ORACLE

Automatic Indexing

Automatic Recovery

Automatic Scaling

Automatic Query Tuning

SELF-DRIVING DBMS34

Problem #2Reactionary

Measures

September 2017

Page 73: Make Your Database Dream of Electric Sheep: Designing for …pavlo/slides/selfdriving-sfo2018.pdf · 2020-03-19 · Part #1 Part #2 Part #3 Background Engineering Oracle Rant. AUTONOMOUS

CONCLUSION

True autonomous DBMSs are achievable in the next decade.

You should think about how each new feature can be controlled by a machine.

MAIN TAKEAWAYS35

Page 74: Make Your Database Dream of Electric Sheep: Designing for …pavlo/slides/selfdriving-sfo2018.pdf · 2020-03-19 · Part #1 Part #2 Part #3 Background Engineering Oracle Rant. AUTONOMOUS

OTTERTUNE 36DEMO

Demo Results

Page 75: Make Your Database Dream of Electric Sheep: Designing for …pavlo/slides/selfdriving-sfo2018.pdf · 2020-03-19 · Part #1 Part #2 Part #3 Background Engineering Oracle Rant. AUTONOMOUS

END@andy_pavlo

Page 76: Make Your Database Dream of Electric Sheep: Designing for …pavlo/slides/selfdriving-sfo2018.pdf · 2020-03-19 · Part #1 Part #2 Part #3 Background Engineering Oracle Rant. AUTONOMOUS