Database Instance Patching via State Preservation

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improvepatching completionVSAvoiddowntime
Core Design Contradiction:
ReliabilityVSLoss of time

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.

Inventive Principle:
Principle #10Preliminary action

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.

Inventive Principle:
Principle #26Copying

2Reliability

If the database instance is shut down for patching, then the new binary image can be executed, but existing client connections are disrupted

Engineering Contradiction:
Improvepatching completionVSAvoidconnection interruption
Core Design Contradiction:
ReliabilityVSObject-generated harmful factors

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.

Inventive Principle:
Principle #10Preliminary action

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.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Reliability

If client connections are maintained during patching, then availability is improved, but the patching process becomes more complex

Engineering Contradiction:
ImproveavailabilityVSAvoidpatching process complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

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.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS10521312B1Downtime management during database instance patching
Publication Date: 2019.12.31 AMAZON TECH INC
  • US10521312B1 patent drawing
  • US10521312B1 patent drawing
  • US10521312B1 patent drawing

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.