Database Workload Filtering for Accurate Production Replay
Find Innovative SolutionsGenerate 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, which can result in performance issues or errors.
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, enabling thorough validation of changes without disrupting the production environment.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If test scripts are written to test commonly executed code paths, then functional testing can be performed, but the testing system is stressed only to a minimal extent and does not mimic production workload
Solution Approach 1:
The patent captures actual production workload traces and replays them in the test environment, creating a copy of the real production workload pattern. This allows the test system to experience the same workload characteristics as production without requiring actual production data or users, thus achieving both functional testing coverage and realistic workload stress.
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 actual load patterns
Solution Approach 1:
The patent captures production workload patterns in advance during a recording period, storing the actual sequence and characteristics of operations. During replay, this pre-captured workload is executed in the test environment, eliminating the randomness of manual user testing while preserving the authentic load patterns observed in production.
3Reliability
If all captured workload is replayed to the test database server, then complete workload replication is achieved, but the replay process becomes excessively long and inefficient
Solution Approach 1:
The patent extracts and filters the captured workload to identify and replay only the most significant and representative operations. By taking out the essential workload characteristics and removing redundant or less critical operations, the system achieves adequate workload replication with significantly reduced replay time compared to replaying the complete captured workload.
4Measurement precision
If the test database server processes workload in the same manner as the production database server, then accurate performance prediction is possible, but the approach requires extensive resources and time
Solution Approach 1:
The patent uses a test database server with less expensive and smaller capacity hardware compared to the production system. By replaying filtered workload patterns rather than complete production workload, the test infrastructure can be simpler and more affordable while still providing accurate performance predictions through the representative workload characteristics.
Data Source
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.


