Database Workload Capture and Replay for Performance Comparison

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing database systems face challenges in accurately evaluating performance changes due to difficulties in capturing and replaying workloads, as simulated workloads often do not accurately reflect production environments, leading to inaccurate predictions of performance impacts from parameter or software changes.

Innovation Solution

A method for capturing and replaying database workloads, which involves generating execution context information and performance measures, storing them in a workload capture store, and using identifiers like hash values to compare execution results across different database systems, while also considering nondeterministic values and distributing database systems.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If a simulated or emulated workload is run on the test system, then the performance of the test system can be evaluated, but the workload may not accurately reflect the production database system workload, leading to inaccurate performance predictions

Engineering Contradiction:
Improveperformance measurement accuracyVSAvoidworkload representation accuracy
Core Design Contradiction:
Measurement precisionVSReliability

Solution Approach 1:

The patent captures actual workload from the production database system by recording SQL statements, execution contexts, and performance measures, creating an accurate copy of the real workload pattern. This captured workload is then replayed on the test system, ensuring the test accurately reflects production conditions rather than using artificial simulated workloads.

Inventive Principle:
Principle #26Copying

Solution Approach 2:

The system performs preliminary workload capture during a capture phase where actual production workload is recorded and stored. This pre-captured workload data is then used in the replay phase, allowing the test system to be evaluated under conditions that precisely match production before any performance optimization changes are applied.

Inventive Principle:
Principle #10Preliminary action

2Productivity

If database system parameters or software are changed to optimize performance, then processing speed or resource use may improve, but the changes can have a negative effect on performance

Engineering Contradiction:
Improveprocessing speedVSAvoidperformance stability
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent implements a feedback mechanism by comparing performance measures from the original production system with performance measures from the system after parameter or software changes. The captured workload is replayed and performance is measured, then these results are compared to provide feedback on whether the changes improved or degraded performance, allowing data-driven optimization decisions.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

Before applying parameter or software changes to the production system, the patent allows evaluation of changes on a test system using the captured workload. This preliminary testing phase enables performance impact assessment before deployment, preventing negative changes from reaching production.

Inventive Principle:
Principle #10Preliminary action

3Measurement precision

If execution context information and performance measures are stored for each request, then accurate performance comparison is enabled, but the storage requirements and data processing complexity increase

Engineering Contradiction:
Improveperformance comparison accuracyVSAvoiddata storage and processing complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The patent segments execution context information and performance measures into distinct, organized components that can be stored and processed independently. Each SQL statement execution generates structured data including context information and performance measures that are captured and stored in an organized manner, making the complex data manageable and processable.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system creates structured copies of execution context and performance data for each SQL statement. Rather than storing raw, unprocessed data, the patent captures and stores organized representations including SQL statements, execution contexts, and performance measures that can be efficiently replayed and compared.

Inventive Principle:
Principle #26Copying

Data Source

PatentUS11829360B2Database workload capture and replay
Publication Date: 2023.11.28 SAP SE
  • US11829360B2 patent drawing
  • US11829360B2 patent drawing
  • US11829360B2 patent drawing

AI summary

Technologies are described for facilitating data workload capture, workload replay, and comparing the performance of a plurality of database systems. A plurality of requests for database operations are received from one or more database clients. The requests for database operations are executed. For the plurality of requests for database operations, execution context information is generated for a plurality of execution contexts. For the plurality of requests for database operations, a plurality of performance measures are generated. The execution context information and the performance measures are stored in a workload capture store, such as a file. The workload capture file is useable to replay the captured workload at a second database system using at least a portion of the execution context information and at least a portion of the performance measures.