Database Workload Replay for Accurate Production Testing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current testing approaches for database systems fail to replicate real production workloads in test environments, leading to inadequate validation of changes before they are introduced into production systems, as they either stress the system minimally or are random and non-deterministic.

Innovation Solution

A method and apparatus that capture and replay the workload from a production database system to a test database system, allowing the test system to experience the same workload as the production system, using capture processes and replay drivers to process and execute the workload in a non-real-time, out-of-line manner, ensuring accurate simulation of production conditions.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If test scripts are written to test commonly executed code paths, then regression testing and functional testing can be performed, but the testing system is stressed only to a very minimal extent and does not mimic production workload

Engineering Contradiction:
Improvetesting validation accuracyVSAvoidsystem stress level
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent captures actual production workload and creates a copy to be replayed in the test environment. This copying approach allows the test system to experience the same workload patterns as production without requiring live production data, thus achieving realistic stress testing while maintaining system isolation.

Inventive Principle:
Principle #26Copying

Solution Approach 2:

The patent performs workload capture during production operations and stores it for later replay during testing. This preliminary action of capturing and storing workload enables subsequent comprehensive testing to be performed with realistic data patterns, improving validation accuracy before production changes are deployed.

Inventive Principle:
Principle #10Preliminary action

2Adaptability or versatility

If human users are asked to use the test system as though it were a production system, then usage patterns can be observed, but the approach is very random and non-deterministic and often fails to reproduce load patterns

Engineering Contradiction:
Improveworkload pattern reproductionVSAvoidload pattern accuracy
Core Design Contradiction:
Adaptability or versatilityVSMeasurement precision

Solution Approach 1:

Instead of relying on human users to manually reproduce usage patterns, the patent captures actual production workload and replays it in the test environment. This automated copying approach deterministically reproduces exact load patterns, timing, and sequences from production, eliminating the randomness inherent in manual testing while maintaining high adaptability to different production workloads.

Inventive Principle:
Principle #26Copying

3Reliability

If workload is captured and replayed in real-time, then production conditions can be accurately simulated, but the complexity of coordinating capture and replay processes increases

Engineering Contradiction:
Improveworkload simulation accuracyVSAvoidcapture and replay system complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent extracts the workload capture function from the replay function, allowing them to operate independently. The capture process runs during production operations and stores workload data, while the replay process independently retrieves and replays this data during testing. This separation reduces coordination complexity while maintaining accurate workload simulation through persistent storage of captured workload.

Inventive Principle:
Principle #2Taking out (Extraction)

Data Source

PatentUS7890457B2Transactionally consistent database workload replay
Publication Date: 2011.02.15 ORACLE INT CORP
  • US7890457B2 patent drawing
  • US7890457B2 patent drawing
  • US7890457B2 patent drawing

AI summary

A method and apparatus for capturing database system workload and replaying that workload in a database system is provided. According to one aspect, in order to subject a test database system to the same workload to which the production database system actually would be subjected, a database server in the production system captures and records workload that the database server receives from external entities. This captured workload is processed. Processes external to a database server in the test database system send the processed workload to that database server. As a result, the test database system is subjected to the same workload to which the production database system originally was subjected. The foregoing technique permits a database administrator to determine how the production database system will fare if the difference that is present in the test database system is introduced into the production database system.