1 of 15

DoppelGanger++ in Action

A Database Replay System supporting

Fast Dependency Graph Generation

Wonseok Lee, POSTECH

Jaehyun Ha, POSTECH

Wook-Shin Han, POSTECH

Changgyoo Park, SAP Labs Korea

Myunggon Park, SAP Labs Korea

Juhyeng Han, SAP Labs Korea

2 of 15

Scenario 1. Why Database Replay System?

​

Scenario 2. How DoppelGanger++ efficiently generates

a dependency graph?

3 of 15

Scenario 1. Why Database Replay System?

4 of 15

Sometimes, a system provider wants to upgrade the DBMS (in hardware or software)…

5 of 15

Sometimes, a system provider wants to upgrade the DBMS (in hardware or software)…

…however, it is risky!

6 of 15

Sometimes, a system provider wants to upgrade the DBMS (in hardware or software)…

…however, it is risky!

- Performance regression

- Bugs

- Resource contention

7 of 15

Production System

Test System

Clients

App Servers

REC

Replayer

Captured Requests

…

Database Replay System

Capture…

And replay!

8 of 15

A service provider

DBMS

9 of 15

A service provider

DBMS

v1.0

v2.0

10 of 15

A service provider

DBMS

v1.0

v2.0

NewOrder

Payment

OrdetStatus

Delivery

StockLevel’

11 of 15

A service provider

DBMS

v1.0

v2.0

NewOrder

Payment

OrdetStatus

Delivery

StockLevel’

Captured Requests

…

Test DBMS

12 of 15

Database Replay Workflow

​

Phase 1. Capturing workload

Phase 2. Dependency Graph Generation

Phase 3. Replaying workload

Phase 4. Analyzing result

13 of 15

Scenario 2. How DoppelGanger++ efficiently generates

a dependency graph?

14 of 15

Output Determinism

the replay of a captured workload produces the same output as the original run

Production System

Test System

Clients

App Servers

REC

Replayer

Captured Requests

…

15 of 15

Thank you for your attention!

DoppelGanger++ in Action

A Database Replay System supporting

Fast Dependency Graph Generation