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