Database Node Replacement via Request Duplication

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In database management systems, replacing a failed database node with a new one can lead to increased processing latency due to the time it takes for the new node to warm up and fill its local cache structures, affecting end users with longer response times and potential data locking issues.

Innovation Solution

A method is introduced where a second database node is trained to match the first node's cache and performance indicators, allowing it to take over by duplicating and modifying data access requests to prevent data changes, and executing read-only requests, thereby minimizing the downtime and performance impact during node replacement.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If a new database node is introduced to replace a failed node, then system availability is maintained, but processing latency increases due to cache warm-up time

Engineering Contradiction:
Improvesystem availabilityVSAvoidprocessing latency
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent applies preliminary action by duplicating data access requests to the new database node before the old node fails, allowing the new node to pre-warm its cache structures with frequently accessed data. This proactive caching strategy ensures that when the takeover occurs, the new node already has essential data in memory, significantly reducing the cache warm-up time and processing latency after replacement.

Inventive Principle:
Principle #10Preliminary action

2Loss of time

If data access requests are duplicated to the new node, then cache warm-up is accelerated, but system complexity increases due to request modification and filtering

Engineering Contradiction:
Improvecache warm-up timeVSAvoidrequest processing complexity
Core Design Contradiction:
Loss of timeVSDevice complexity

Solution Approach 1:

The patent extracts and filters only the necessary components of data access requests for duplication to the new node. Specifically, it identifies and excludes data-changing statements (INSERT, UPDATE, DELETE) and previously executed statements from the duplication process, sending only relevant read requests to the new node. This selective extraction reduces the complexity of request processing while still achieving effective cache warm-up with essential data.

Inventive Principle:
Principle #2Taking out (Extraction)

3Loss of time

If the new node executes all data access requests, then comprehensive cache coverage is achieved, but data consistency issues arise from executing data-changing statements

Engineering Contradiction:
Improvecache coverageVSAvoiddata consistency
Core Design Contradiction:
Loss of timeVSReliability

Solution Approach 1:

The patent converts the potential harm of executing data-changing statements on the new node (which could cause data consistency issues) into a benefit by implementing a filtering mechanism. The system identifies data-changing statements and previously executed statements, excludes them from duplication, and only sends safe read requests to the new node. This approach maintains data consistency while still achieving comprehensive cache coverage with relevant data, turning a potential problem into an effective solution.

Inventive Principle:
Principle #22Blessing in disguise (Convert harm into benefit)

Data Source

PatentUS20230168979A1Managing nodes of a dbms
Publication Date: 2023.06.01 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US20230168979A1 patent drawing
  • US20230168979A1 patent drawing
  • US20230168979A1 patent drawing

AI summary

A tool for replacing a first database node of a database management system by a second database node. The tool receives an indication that the first database node received a data access request for accessing a database shared between the first database node and the second database node. The tool duplicates the data access request at the first database node. Responsive to a determination that the duplicated data access request includes a data changing statement and a previously executed statement, the tool modifies the duplicated data access request to prevent execution of the data changing statement and the previously executed statement at the second database node. The tool executes the modified duplicated data access request at the second database node. The tool replaces, based on a replacement condition being met, the first database node with the second database node in the database management system.