Parallel Database Node Failure Recovery via Distributed Backup

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current relational database management systems face inefficiencies in processing large databases due to shared memory/disk storage bottlenecks, high costs, and limitations in scalability and failure protection, particularly in parallel processing systems.

Innovation Solution

A database management system utilizing a computing matrix with interconnected 'shared nothing' processing nodes, each with separate processors, memory, and storage, and employing high-level programming languages for optimized query execution, along with failover recovery mechanisms for node failures.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If shared memory/disk storage is used in SMP systems, then processors can access common data, but simultaneous accesses create bottlenecks and delays

Engineering Contradiction:
Improvedatabase operation efficiencyVSAvoidprocessor wait state delay
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent divides the database into multiple partitions, with each processing node assigned to handle specific partitions independently. This segmentation eliminates the need for shared storage access during normal operations, as each node works with its own local data segments, thereby removing the bottleneck caused by simultaneous access to shared memory/disk storage.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent extracts the shared storage component from the parallel processing architecture, replacing it with distributed local storage at each processing node. By removing the shared storage element that causes bottlenecks, the system achieves true parallel processing without processors entering wait states.

Inventive Principle:
Principle #2Taking out (Extraction)

2Productivity

If more processors are added to SMP systems, then parallel processing capability increases, but shared storage limits scalability to eight processors or less

Engineering Contradiction:
Improveparallel processing capabilityVSAvoidsystem scalability
Core Design Contradiction:
ProductivityVSAdaptability or versatility

Solution Approach 1:

The database system is segmented into multiple autonomous processing nodes, each capable of independent operation. This architectural segmentation allows the system to scale beyond the eight-processor limit of traditional SMP systems, as each node manages its own resources without competing for shared storage bandwidth.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent transitions from a centralized shared-storage architecture to a distributed architecture where storage and processing are co-located at each node. This dimensional change in system architecture enables horizontal scaling by adding more nodes to the distributed network, rather than being constrained by vertical scaling limits of shared resources.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

3Adaptability or versatility

If interpreted programming languages are used for database operations, then flexibility in query construction is improved, but processing efficiency decreases due to interpretation overhead

Engineering Contradiction:
Improvequery construction flexibilityVSAvoidprocessing efficiency
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The patent implements query compilation before execution, where high-level query language instructions are translated into optimized machine code in advance. This preliminary compilation step eliminates the interpretation overhead during actual query execution, while still allowing users to write flexible queries in high-level languages. The compiled code is then executed directly by processing nodes for maximum efficiency.

Inventive Principle:
Principle #10Preliminary action

4Productivity

If SMP systems use proprietary designs for shared resources, then parallel processing is enabled, but development and maintenance costs become prohibitively expensive

Engineering Contradiction:
Improveparallel processing capabilityVSAvoidsystem development and maintenance cost
Core Design Contradiction:
ProductivityVSEase of manufacture

Solution Approach 1:

The patent employs standard off-the-shelf hardware components for each processing node, eliminating the need for proprietary SMP hardware designs. Each node uses conventional processors, memory, and storage that can be independently sourced and replaced. This self-service approach to hardware configuration dramatically reduces development, manufacturing, and maintenance costs while maintaining parallel processing capabilities through software coordination.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS8676843B2Failure recovery in a parallel-processing database system
Publication Date: 2014.03.18 LEXISNEXIS RISK DATA MANAGEMENT
  • US8676843B2 patent drawing
  • US8676843B2 patent drawing
  • US8676843B2 patent drawing

AI summary

A system and method for failure recovery in a multiple processing node system are described herein. Each node can be adapted to store a backup copy of its database portion and/or results to disk storage or memory of at least one other node. In the event of a failure of a node, the replacement node can be adapted to transfer or copy the backup copy of the database portion of the failed node from the failed node's neighbors to the replacement node's disk storage or memory in between database operations. Before the transfer or copy of the backup copy is completed, the replacement node can be adapted to perform database operations in part on the portion of the backup copy the replacement node has already received and in part on the backup copy stored at the neighboring node(s).