Intelligent Query Routing Across Database Shards
Find Innovative SolutionsGenerate 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
Engineering Contradiction Analysis
1Reliability
If processing capacity is increased to match workload demands, then service reliability is improved, but device complexity and cost increase
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.
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.
2Productivity
If processing capacity is scaled dynamically to match workload, then productivity is improved, but service stability deteriorates due to connection disruptions
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.
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.
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
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.
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.
4Productivity
If resources are allocated flexibly to optimize performance, then productivity is improved, but device complexity increases
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.
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.
Data Source
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.


