Database Server Set Architecture for Shard Query Routing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Database management systems face performance bottlenecks and troubleshooting difficulties due to the limitations of partitioning databases across multiple servers, including inefficient load balancing and unclear routing of queries across shards.

Innovation Solution

Implementing a load balancer that directs incoming instructions to specific database servers hosting shards, with each server configured to process queries within its shard and send them to other servers within the same server set for execution, simplifying troubleshooting and reducing unnecessary routing.

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 performance bottlenecks and troubleshooting difficulties occur

Engineering Contradiction:
Improvedata sizeVSAvoidperformance
Core Design Contradiction:
Quantity of substanceVSProductivity

Solution Approach 1:

The database is divided into multiple shards distributed across different server sets. Each server set contains multiple servers that collectively hold a complete copy of the database, enabling parallel processing while maintaining data availability and preventing performance bottlenecks through distributed architecture

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system changes the organizational parameter from traditional single-server or simple multi-server partitioning to a multi-dimensional sharding structure with server sets. This parameter change enables simultaneous horizontal scaling while maintaining manageable complexity for troubleshooting

Inventive Principle:
Principle #35Parameter changes

2Quantity of substance

If a database is partitioned across multiple servers, then data size and transaction volume can be increased, but troubleshooting difficulties occur

Engineering Contradiction:
Improvedata sizeVSAvoidtroubleshooting
Core Design Contradiction:
Quantity of substanceVSEase of repair

Solution Approach 1:

The system segments the distributed database into distinct server sets, where each server set is a self-contained unit containing multiple servers with complete database copies. This segmentation isolates troubleshooting scope to individual server sets rather than requiring system-wide analysis

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Each server set is designed with uniform internal structure and complete database copies, creating local self-sufficiency. This allows troubleshooting to be performed locally within a server set without affecting or requiring intervention from other server sets, simplifying diagnostic procedures

Inventive Principle:
Principle #3Local quality

3Quantity of substance

If traditional database partitioning is used, then data can be distributed, but load balancing becomes inefficient

Engineering Contradiction:
Improvedata distributionVSAvoidload balancing efficiency
Core Design Contradiction:
Quantity of substanceVSProductivity

Solution Approach 1:

The system segments the database into shards distributed across multiple server sets, where each server set contains multiple servers with complete database copies. This segmentation enables efficient load distribution across server sets while maintaining data availability and balancing workloads through the hierarchical structure

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Each server set is designed to be universally functional, containing complete database copies that can handle any query type. This multi-functionality enables flexible load balancing where any server set can serve any client request, optimizing resource utilization and eliminating load balancing bottlenecks

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

Data Source

PatentUS10394817B2System and method for implementing a database
Publication Date: 2019.08.27 WALMART APOLLO LLC
  • US10394817B2 patent drawing
  • US10394817B2 patent drawing
  • US10394817B2 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. Each server in the first plurality of database servers arranged in a server set with a server in the second plurality of database servers. Queries sent to a database server in the first plurality of database servers are forwarded to the corresponding server in the server set of the second plurality. Other embodiments also are disclosed.