Self-Managing Distributed Database Nodes via Consensus Voting

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Distributed database systems face challenges in managing node redundancy and rebalancing data efficiently, leading to overhead costs and latency due to offline nodes and the need for rebuilding data after failures.

Innovation Solution

Implementing a consensus-based voting process using the Paxos algorithm to detect node departures and arrivals, automatically rebalance data, and elect a principal node for multi-phase commit processes within a Not-Only SQL (NOSQL) distributed database cluster, ensuring continuous availability and minimal latency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If data redundancy is maintained through database node failure and rebalancing operations, then data availability is improved, but system overhead and latency increase

Engineering Contradiction:
Improvedata availabilityVSAvoidsystem overhead and latency
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system performs preliminary actions by pre-calculating and pre-positioning data replicas before failures occur. When nodes are added or removed, the system proactively rebalances data distribution in advance, so that when a failure occurs, the data is already available from remaining nodes without requiring time-consuming rebuild operations.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system uses consensus algorithms to rapidly reach agreement on data redistribution plans and executes rebalancing operations quickly. By optimizing the rebalancing process to complete faster, the system minimizes the time nodes spend offline and reduces overall system latency during failure recovery scenarios.

Inventive Principle:
Principle #21Skipping (Rushing through)

2Reliability

If offline data is rebuilt after database node failure and rebalancing operations, then data redundancy is maintained, but time and processing cost increase

Engineering Contradiction:
Improvedata redundancyVSAvoidprocessing cost
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

Instead of rebuilding data from scratch after a failure, the system maintains and utilizes existing data copies (replicas) distributed across multiple nodes. When a node fails, the system can immediately serve data from remaining replicas without expensive rebuild operations, significantly reducing processing costs while maintaining data redundancy.

Inventive Principle:
Principle #26Copying

Solution Approach 2:

The system performs preliminary data replication and distribution before failures occur, ensuring that multiple copies of critical data are already positioned across the cluster. This preliminary action eliminates the need for costly post-failure data reconstruction, as the data is already available in redundant form.

Inventive Principle:
Principle #10Preliminary action

3Extent of automation

If consensus-based voting process is implemented for node management, then automated cluster configuration is improved, but system complexity increases

Engineering Contradiction:
Improveself-managing cluster configurationVSAvoidconsensus algorithm implementation
Core Design Contradiction:
Extent of automationVSDevice complexity

Solution Approach 1:

The system implements self-service through automated consensus-based node management where the cluster autonomously handles node additions, removals, and data rebalancing without manual intervention. Each node participates in consensus voting to determine cluster configuration changes, enabling the system to self-manage its own topology and data distribution while maintaining high automation levels.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS9201742B2Method and system of self-managing nodes of a distributed database cluster with a consensus algorithm
Publication Date: 2015.12.01 AEROSPIKE INC
  • US9201742B2 patent drawing
  • US9201742B2 patent drawing
  • US9201742B2 patent drawing

AI summary

In one exemplary aspect, a method of a distributed database system includes the step of detecting that a database node departed from a database cluster. A consensus-based voting process is implemented utilizing all of a set of other database nodes remaining in the database cluster. A cluster configuration is determined with the consensus-based voting process. The cluster configuration includes a new list of the set of other database nodes remaining in the database cluster. The data is automatically rebalanced among the set of other database nodes remaining in the database cluster according to the cluster configuration. Optionally, the consensus-based voting process can include a Paxos algorithm. The database cluster can be a Not-Only SQL (NOSQL) distributed database cluster.