Database Session State Capture and Replay
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In database management systems, replaying captured workload in a test system while maintaining session state consistency is challenging, as environmental variables and session states change during production system operations, leading to unpredictable results if not replicated accurately in the test system.
Innovation Solution
A method to capture and restore database session states by storing session states at specific points in time, allowing for selective replay of workload on a test database server, ensuring transactional consistency and preserving the original session state for accurate workload replay.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If workload is replayed in a test system without capturing session state, then replay speed is improved, but accuracy and reliability of testing deteriorate due to environmental variable changes
Solution Approach 1:
The patent applies preliminary action by capturing and storing session state information before workload replay occurs. The system saves environmental variables, configuration settings, and session-specific data in advance, then restores this state during replay to ensure accuracy while maintaining replay efficiency.
Solution Approach 2:
The patent uses copying by creating a replicated session state from the production environment. The system copies session state information including environmental variables and configuration data, stores it separately, and applies it during replay to maintain testing accuracy without requiring the original production environment.
2Reliability
If complete session state is captured and restored, then replay accuracy is improved, but system complexity and resource requirements worsen
Solution Approach 1:
The patent applies segmentation by dividing session state into distinct components: environmental variables, configuration settings, and session-specific data. Each component is captured, stored, and restored separately, which simplifies the overall process and reduces system complexity while maintaining complete replay accuracy.
Solution Approach 2:
The patent uses parameter changes by dynamically adjusting which session state parameters are captured and restored based on the specific replay scenario. The system can selectively capture only necessary parameters rather than all possible parameters, reducing complexity while maintaining adequate replay accuracy for the given testing needs.
3Reliability
If session state is captured at every transaction boundary, then transactional consistency is improved, but capture frequency and processing overhead worsen
Solution Approach 1:
The patent applies periodic action by capturing session state at regular transaction boundaries rather than continuously. The system captures state information at defined intervals (e.g., at commit points or transaction boundaries), which maintains transactional consistency while avoiding the overhead of continuous capturing and processing.
Data Source
AI summary
Techniques are described herein for capturing and restoring database session state. Production database server components save the session state of each of a plurality of database sessions. The components store workload units that are processed in these sessions. The components store updated session states in response to certain events. Thus, the components may capture multiple session states, pertaining to various different points in time, for each session. The captured session states and the captured workload are moved to a test database server. A user selects, from among the time points represented by the session states, a point in time at which the user would like workload replay to begin. Sessions are re-created on the test database server. Session states of these sessions are set to reflect the session states as they existed at the user-selected time point. Workload units are replayed in the sessions relative to the test database server.


