Database Load Balancer Suitability Scoring

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Database management systems face performance bottlenecks and troubleshooting difficulties due to the partitioning of databases across multiple servers, particularly in handling incoming instructions and queries across shards, leading to inefficient load balancing and potential server overload.

Innovation Solution

Implementing a load balancer that determines a suitability score for each database server based on server information and directs incoming instructions to the most suitable server within designated server sets, ensuring that each server processes queries for its specific shard and reduces unnecessary routing, thereby simplifying troubleshooting and improving performance.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If database is partitioned across multiple servers, then data size and transaction volume capacity are improved, but performance bottlenecks and troubleshooting difficulties occur

Engineering Contradiction:
Improvedata size and transaction volumeVSAvoidperformance
Core Design Contradiction:
Quantity of substanceVSProductivity

Solution Approach 1:

The database is segmented into multiple shards distributed across different servers, allowing the system to handle larger data volumes and transaction loads by dividing the workload into manageable portions that can be processed independently across the cluster

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

A load balancer is introduced as an intermediary component that receives incoming instructions, determines the appropriate target server based on shard location and server suitability scores, and routes requests accordingly. This mediator resolves the performance bottleneck by intelligently distributing traffic and preventing any single server from becoming overloaded

Inventive Principle:
Principle #24Intermediary (Mediator)

2Quantity of substance

If database is partitioned across multiple servers, then data size and transaction volume capacity are improved, but troubleshooting difficulties occur

Engineering Contradiction:
Improvedata size and transaction volumeVSAvoidtroubleshooting difficulty
Core Design Contradiction:
Quantity of substanceVSDifficulty of detecting and measuring

Solution Approach 1:

The database cluster is segmented into distinct server sets where each server is responsible for specific shards, creating clear boundaries and ownership. This segmentation makes troubleshooting easier by allowing administrators to isolate and examine specific server sets independently without affecting the entire system

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The load balancer implements feedback mechanisms by monitoring server suitability scores and performance metrics, continuously adapting its routing decisions based on current system state. This feedback loop enables automatic detection and response to performance issues, reducing manual troubleshooting requirements

Inventive Principle:
Principle #23Feedback

3Productivity

If load balancing is implemented across heterogeneous servers, then resource utilization is improved, but server suitability determination complexity increases

Engineering Contradiction:
Improveresource utilizationVSAvoidserver suitability determination
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The system uses parameter changes by dynamically calculating suitability scores based on multiple server attributes including CPU capacity, memory availability, current load, and shard-specific metrics. These parameters are continuously updated and weighted to reflect current system conditions, enabling the load balancer to make informed routing decisions that optimize resource utilization across heterogeneous servers

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The load balancer performs preliminary actions by pre-calculating and caching suitability scores for each server before actual requests arrive. This preliminary assessment allows the system to quickly route incoming instructions to appropriate servers without performing complex real-time analysis, reducing determination complexity while maintaining optimal resource utilization

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS9996591B2System and method for implementing a database in a heterogeneous cluster
Publication Date: 2018.06.12 WALMART APOLLO LLC
  • US9996591B2 patent drawing
  • US9996591B2 patent drawing
  • US9996591B2 patent drawing

AI summary

A system and method for implementing a database system is presented. A database system comprises a load balancer and a database partitioned into a first and second shard. Coupled to the load balancer are a first plurality of database servers and a second plurality of database servers. Each of the first plurality of database servers contains a copy of the first shard of the database. Each of the second plurality of database servers contains a copy of the second shard of the database. Queries are sent to a database server in the first plurality of database servers based on a suitability score of the database server determined by characteristics of each server and a current status of each server, where the query is sent to the server in the first plurality with the highest suitability score. Other embodiments also are disclosed.