Database Instance Patching via State Preservation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Traditional database patching processes result in downtime for associated application software, leading to unavailability and interruption of client communication with the database instance, which is undesirable for users and customers.
Innovation Solution
A managed downtime patching process is implemented, where the database engine and client-side storage service driver save and restore database state and volume geometry information, allowing for the execution of a new binary image while maintaining existing client connections by pausing and resuming connections as needed, thereby reducing or eliminating downtime.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If the database instance is shut down for patching, then the patching process can be executed, but client communication is interrupted and downtime occurs
Solution Approach 1:
The system performs preliminary actions by saving database state information and volume geometry information before the patching process begins. This allows the database instance to be restarted with the new binary image while maintaining client connections, as the state information is restored after the patch is applied, preventing downtime.
Solution Approach 2:
The system creates a copy of the database state information and volume geometry information in a persistent buffer. This copy is used to restore the database state after the binary image is replaced, allowing the patching to occur without interrupting client communications.
2Reliability
If the database instance is shut down for patching, then the new binary image can be executed, but existing client connections are disrupted
Solution Approach 1:
The system saves database state information including client connection information before replacing the binary image. This preliminary action enables the restoration of client connections after the patch is applied, preventing connection interruptions.
Solution Approach 2:
The persistent buffer acts as an intermediary that stores database state information and volume geometry information. This intermediary allows the system to maintain client connections during the binary image replacement by restoring the state from the buffer after the patch is applied.
3Reliability
If client connections are maintained during patching, then availability is improved, but the patching process becomes more complex
Solution Approach 1:
The system performs self-service by automatically saving and restoring database state information during the patching process. The persistent buffer automatically stores and retrieves the necessary information, reducing the complexity of manual intervention while maintaining availability.
Data Source
AI summary
A system for updating a database instance with a patch or new binary image. A database instance includes a database engine and a client-side storage layer driver to manage database state information and volume geometry state information associated with client process connections to a volume of a storage layer of a database system during the patching process. The database engine and the client-side storage service driver save database state information and volume geometry state information, execute the new binary image, and restore the updated database engine with the database state information and volume geometry state information. The new binary image may be executed using a fork/exec model, wherein file descriptors used to identify sockets used in existing client connections are preserved, enabling restoration of the client connections without interruption or downtime.


