Availability Group Database Patching Sequence
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current virtual computing systems face challenges in minimizing downtime during database patching operations in Availability Groups (AG) clusters, as traditional methods do not consider the current state of the cluster, leading to decreased performance and increased downtime.
Innovation Solution
A dynamic patching algorithm that intelligently determines the best order for patching operations in AG clusters by prioritizing secondary replica nodes before primary replica nodes and selecting healthy nodes as failover targets, minimizing disruptions and downtime.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Loss of time
If traditional patching methods are used without considering cluster state, then patching operations can be performed simply, but downtime increases and performance decreases
Solution Approach 1:
The patent implements a dynamic patching algorithm that adapts the patching sequence based on the real-time state of cluster nodes. Instead of using a static predetermined order, the system continuously monitors node health, workload, and synchronization status, then dynamically adjusts which node should be patched next. This dynamic approach minimizes downtime by selecting optimal patching targets that maintain cluster availability while applying updates.
Solution Approach 2:
The system incorporates feedback mechanisms by continuously monitoring the current state of each node (health status, workload, synchronization level) and using this information to determine the next patching target. The algorithm receives feedback about node conditions and adjusts the patching sequence accordingly, ensuring that patching operations proceed in an order that minimizes disruption to cluster operations.
2Reliability
If nodes are patched in arbitrary order, then the patching process is simple to implement, but service level agreements may not be met
Solution Approach 1:
The patent employs a dynamic prioritization algorithm that adjusts patching priorities based on real-time cluster state. Secondary replica nodes are generally prioritized over primary nodes, but the algorithm dynamically adjusts this priority based on node health, workload conditions, and synchronization status. This ensures SLA compliance by maintaining service availability while applying patches in an optimized sequence.
Solution Approach 2:
The system changes the parameters used for node selection based on current cluster conditions. Instead of using a fixed priority scheme, the algorithm adjusts selection parameters such as node role weight, health status thresholds, and synchronization requirements dynamically. This allows the system to meet SLA requirements by adapting patching behavior to current operational conditions.
3Productivity
If primary replica nodes are patched first, then the patching process follows a straightforward sequence, but cluster availability and performance suffer
Solution Approach 1:
The patent inverts the traditional patching approach by prioritizing secondary replica nodes over primary replica nodes. Instead of patching primary nodes first (which would maintain simplicity but harm availability), the system patches secondary nodes first, allowing primary nodes to continue serving requests. This inverted sequence maintains cluster performance and availability while still achieving complete patching coverage.
Solution Approach 2:
The system performs preliminary actions by patching secondary replica nodes before primary nodes. This preliminary patching of secondary nodes prepares them to take over if needed, while primary nodes continue operating normally. This approach maintains cluster performance during the patching process by ensuring that functional nodes remain active throughout the update sequence.
Data Source
AI summary
A patching operation on an availability group cluster having a plurality of nodes is disclosed. The patching operation is performed in a plurality of iterations, each including determining a current state of each of the plurality of nodes, selecting a next node based on the current state, and patching the next node. A secondary replica node is selected as the next node before the a primary replica node. Each secondary replica node is patched in accordance with a first priority, upon patching each of the secondary replica node, a failover target node for patching the primary replica node is selected, the failover target node is selected based on a second priority, and according to the second priority, a healthy synchronous secondary replica node of the plurality of nodes is selected as the failover target node before an unhealthy synchronous secondary replica node of the plurality of nodes.


