Virtual Storage Volumes for Rapid Node Recovery in Database Clusters

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current information processing systems face challenges in providing adequate fault tolerance, particularly in the recovery from node failures, due to the time-consuming process of replacing failed nodes in systems like Cassandra clusters, which undermines overall system reliability.

Innovation Solution

Implementing a data fabric layer with database application nodes associated with virtual storage volumes from an underlying storage infrastructure layer, allowing for the rapid instantiation of replacement nodes by unmounting and attaching virtual storage volumes, thereby enhancing fault tolerance and reducing recovery time.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If traditional physical storage resources are used in database nodes, then system reliability is maintained, but recovery time from node failures increases significantly

Engineering Contradiction:
Improvefault toleranceVSAvoidrecovery time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system separates storage resources from compute nodes by introducing a storage infrastructure layer that provides virtual storage volumes. This segmentation allows storage to be independently managed and rapidly reallocated when nodes fail, enabling quick recovery without physical reconfiguration of storage resources.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

A storage infrastructure layer acts as an intermediary between database nodes and physical storage resources. This layer manages virtual storage volumes that can be dynamically mounted to healthy nodes or unmounted from failed nodes, enabling rapid failover and recovery while maintaining system reliability.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Speed

If dedicated physical storage resources are assigned to each database node, then data access performance is optimized, but system flexibility and scalability deteriorate

Engineering Contradiction:
Improvedata access performanceVSAvoidsystem flexibility
Core Design Contradiction:
SpeedVSAdaptability or versatility

Solution Approach 1:

The storage infrastructure layer provides universal storage resources that can serve multiple database nodes simultaneously. Virtual storage volumes can be dynamically allocated to different nodes based on demand, enabling the system to adapt to changing workloads and scale flexibly while maintaining optimized data access performance.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Solution Approach 2:

The system transitions from static physical storage assignments to dynamic virtual storage volume allocation. Storage resources can be rapidly reallocated between nodes based on operational needs, enabling the system to adapt to failures, scale horizontally, and optimize performance dynamically without physical reconfiguration.

Inventive Principle:
Principle #15Dynamics

3Reliability

If virtual storage volumes are implemented for rapid node recovery, then fault tolerance is enhanced, but device complexity increases

Engineering Contradiction:
Improvefault toleranceVSAvoidsystem architecture complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The system uses virtual storage volumes that can be rapidly copied or cloned between nodes. When a node fails, its virtual storage volume can be quickly replicated to a replacement node, enabling fast recovery without complex data migration processes while maintaining enhanced fault tolerance.

Inventive Principle:
Principle #26Copying

Data Source

PatentUS9697241B1Data fabric layer having nodes associated with virtual storage volumes of underlying storage infrastructure layer
Publication Date: 2017.07.04 EMC IP HLDG CO LLC
  • US9697241B1 patent drawing
  • US9697241B1 patent drawing
  • US9697241B1 patent drawing

AI summary

A processing platform implemented using one or more processing devices comprises a data fabric layer and a storage infrastructure layer underlying the data fabric layer. The data fabric layer comprises at least one database application having a plurality of nodes. The storage infrastructure layer comprises a plurality of storage servers and is configured to implement one or more virtual storage volumes for each of the nodes of the database application of the data fabric layer using the storage servers. In some embodiments, responsive to detection of a failure of a given one of the nodes of the database application, the one or more virtual storage volumes associated with the given node are utilized to facilitate instantiation of a replacement node for the given node. For example, a virtual storage volume may be unmounted from the given node and attached to the replacement node.