Intelligent Query Routing Across Database Shards

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current database systems face challenges in scaling processing capacity to match workload demands, leading to disruptions and high costs due to the need for frequent capacity adjustments, especially in managed relational database services where client applications may experience interrupted connections.

Innovation Solution

A database system that supports both client-managed and system-managed tables within a common database, allowing for intelligent query routing and dynamic resource allocation, enabling flexible scaling of computing resources to optimize performance without interrupting client applications.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If processing capacity is increased to match workload demands, then service reliability is improved, but device complexity and cost increase

Engineering Contradiction:
Improveservice reliabilityVSAvoiddevice complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent segments the database service into multiple independent shards that can be individually scaled and managed. Each shard operates as an independent unit with its own processing capacity, allowing the system to scale horizontally by adding more shards rather than increasing the complexity of a single monolithic system. This segmentation enables flexible resource allocation while maintaining service reliability.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements dynamic scaling capabilities where processing capacity can be adjusted in real-time based on workload demands. The system allows for dynamic addition and removal of shards, and can dynamically route queries to appropriate shards based on current resource availability and demand, enabling the system to adapt to changing conditions without fixed capacity constraints.

Inventive Principle:
Principle #15Dynamics

2Productivity

If processing capacity is scaled dynamically to match workload, then productivity is improved, but service stability deteriorates due to connection disruptions

Engineering Contradiction:
ImproveproductivityVSAvoidservice stability
Core Design Contradiction:
ProductivityVSStability of the object's composition

Solution Approach 1:

By dividing the database into multiple independent shards, the patent enables individual shards to be scaled or maintained without affecting other shards. This segmentation allows for targeted capacity adjustments based on specific workload patterns while maintaining stable connections for other parts of the system, reducing the impact of scaling operations on overall service stability.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a routing layer that acts as an intermediary between client applications and database shards. This routing mechanism transparently handles query distribution and can redirect connections if a shard is being scaled or maintained, shielding client applications from connection disruptions while still enabling dynamic capacity adjustment.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Adaptability or versatility

If capacity adjustments are made frequently to match workload, then adaptability is improved, but service reliability worsens due to connection drops and failed retries

Engineering Contradiction:
ImproveadaptabilityVSAvoidservice reliability
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The patent implements dynamic query routing that can adapt to changing workload conditions in real-time. The system can dynamically determine which shards to route queries to based on current capacity and demand, allowing frequent adaptability adjustments without requiring capacity changes that would disrupt client connections. This dynamic routing separates adaptability from capacity adjustment operations.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The routing layer serves as an intermediary that absorbs the impact of capacity adjustments. It can redirect queries away from shards undergoing capacity changes and toward other available shards, allowing the system to be adaptable to workload changes while maintaining service reliability by preventing connection drops during capacity adjustments.

Inventive Principle:
Principle #24Intermediary (Mediator)

4Productivity

If resources are allocated flexibly to optimize performance, then productivity is improved, but device complexity increases

Engineering Contradiction:
ImproveproductivityVSAvoiddevice complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent segments resource allocation into discrete shard units, each with its own resource pool. This segmentation allows for flexible and independent resource allocation to each shard based on its specific workload requirements, optimizing productivity without requiring complex centralized resource management. Each shard can be managed independently, simplifying the overall system architecture.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent enables local quality optimization where each shard can have its own resource allocation and configuration tailored to its specific workload characteristics. This allows different parts of the system to have different resource densities and configurations optimized for their local needs, improving overall productivity without requiring a uniformly complex resource management system across the entire database.

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS11947555B1Intelligent query routing across shards of scalable database tables
Publication Date: 2024.04.02 AMAZON TECH INC
  • US11947555B1 patent drawing
  • US11947555B1 patent drawing
  • US11947555B1 patent drawing

AI summary

Intelligent query routing may be performed across shards of a scalable database table. A router of a database system may receive an access request directed to one or more database tables. The router may evaluate the access request with respect to metadata obtained for the database tables to determine an assignment distribution of computing resources of the database system to data that can satisfy the access request. The router can select planning locations to perform the access request based on the assignment distribution of the computing resources. The router can cause the access request to be performed according to planning at the selected planning locations.