Database Server Self-Healing via Load Balancer Isolation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Database management systems face challenges with troubleshooting and performance issues due to the complexity of partitioning databases across multiple servers, including difficulty in identifying underperforming servers and managing load balancing, which can lead to inefficient query routing and decreased system performance.

Innovation Solution

Implementing a system where each database server hosts a copy of a database, receives triggering actions, compiles statistics, and performs corrective actions, with load balancing techniques used to distribute queries within server sets, allowing for easier troubleshooting and improved performance by isolating underperforming servers.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If a database is partitioned across multiple servers, then data size and transaction volume can be increased, but troubleshooting difficulty and system complexity increase

Engineering Contradiction:
Improvedata sizeVSAvoidsystem complexity
Core Design Contradiction:
Quantity of substanceVSDevice complexity

Solution Approach 1:

The database system is segmented into multiple independent server clusters, where each cluster contains multiple database servers hosting copies of the database. This segmentation allows the system to handle larger data sizes and transaction volumes while maintaining manageable complexity through modular architecture.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Each server cluster is configured with local load balancing and self-healing capabilities, allowing independent operation and troubleshooting of individual clusters. This local quality approach reduces overall system complexity by isolating problems to specific clusters rather than affecting the entire distributed system.

Inventive Principle:
Principle #3Local quality

2Productivity

If load balancing is implemented across partitioned databases, then query distribution can be improved, but troubleshooting difficulty increases

Engineering Contradiction:
Improvequery processing efficiencyVSAvoidtroubleshooting difficulty
Core Design Contradiction:
ProductivityVSDifficulty of detecting and measuring

Solution Approach 1:

A load balancer acts as an intermediary component that receives client requests and distributes them to appropriate database servers within a cluster. This intermediary simplifies troubleshooting by providing a centralized point for monitoring and controlling query distribution, rather than requiring analysis of direct client-server connections.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system implements feedback mechanisms where the load balancer monitors server performance and dynamically adjusts query distribution. This feedback loop enables automatic detection of underperforming servers and rerouting of queries, improving productivity while reducing troubleshooting difficulty through automated monitoring.

Inventive Principle:
Principle #23Feedback

3Reliability

If multiple servers host database copies, then system reliability can be improved, but identifying underperforming servers becomes more difficult

Engineering Contradiction:
Improvesystem reliabilityVSAvoidserver performance monitoring
Core Design Contradiction:
ReliabilityVSDifficulty of detecting and measuring

Solution Approach 1:

Multiple database servers within a cluster are merged into a unified system managed by a single load balancer. This merging allows centralized monitoring of all servers' performance metrics, making it easier to identify underperforming servers while maintaining high reliability through redundant copies of the database across the cluster.

Inventive Principle:
Principle #5Merging (Combining)

Data Source

PatentUS10169138B2System and method for self-healing a database server in a cluster
Publication Date: 2019.01.01 WALMART APOLLO LLC
  • US10169138B2 patent drawing
  • US10169138B2 patent drawing
  • US10169138B2 patent drawing

AI summary

A system and method for implementing a database system is presented. A database cluster can comprise multiple database servers. Each database server is configured to regularly compile various statistics upon the occurrence of a triggering event. These statistics can be stored along with the statistics of each database server in the cluster of database servers. Upon the occurrence of various conditions, corrective actions can be implemented. The conditions can include the inability to achieve performance thresholds. The conditions also can include not meeting the performance of other database servers in the cluster. The corrective action can include removing a server temporarily from the cluster or rebooting the server. In addition, a database server can cause the corrective action on other database servers in the cluster. Other embodiments also are disclosed.