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
Scenario 1. Why Database Replay System?
Scenario 2. How DoppelGanger++ efficiently generates
a dependency graph?
Scenario 1. Why Database Replay System?
Sometimes, a system provider wants to upgrade the DBMS (in hardware or software)…
Sometimes, a system provider wants to upgrade the DBMS (in hardware or software)…
…however, it is risky!
Sometimes, a system provider wants to upgrade the DBMS (in hardware or software)…
…however, it is risky!
- Performance regression
- Bugs
- Resource contention
Production System
Test System
Clients
App Servers
REC
Replayer
Captured Requests
…
Database Replay System
Capture…
And replay!
A service provider
DBMS
A service provider
DBMS
v1.0
v2.0
A service provider
DBMS
v1.0
v2.0
NewOrder
Payment
OrdetStatus
Delivery
StockLevel’
A service provider
DBMS
v1.0
v2.0
NewOrder
Payment
OrdetStatus
Delivery
StockLevel’
Captured Requests
…
Test DBMS
Database Replay Workflow
Phase 1. Capturing workload
Phase 2. Dependency Graph Generation
Phase 3. Replaying workload
Phase 4. Analyzing result
Scenario 2. How DoppelGanger++ efficiently generates
a dependency graph?
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
…
Thank you for your attention!
DoppelGanger++ in Action
A Database Replay System supporting
Fast Dependency Graph Generation