Database Query Burst Performance Management by Size

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Database systems face inefficiencies in processing queries due to varying workload demands, leading to underutilization of resources and increased costs from maintaining burst capacity, as current technologies struggle to optimally select between primary and burst query engines based on query size.

Innovation Solution

Implementing a size-based burst performance management system that dynamically selects between primary and burst query engines based on query size classification, using techniques such as machine learning and rules-based classifications to determine when to utilize burst resources, thereby reducing resource waste and optimizing performance.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If burst capacity is maintained to handle peak query workloads, then query performance during peak demand is improved, but resource costs and system complexity increase due to underutilization during normal periods

Engineering Contradiction:
Improvequery performance during peak demandVSAvoidresource waste from maintaining burst capacity
Core Design Contradiction:
ReliabilityVSLoss of energy

Solution Approach 1:

The system dynamically adjusts the query engine configuration based on workload characteristics. A burstable query engine is used instead of a permanently sized one, allowing the system to scale up temporarily during peak demand and scale down during normal periods, thereby avoiding resource waste while maintaining performance when needed

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system changes the operational parameters of the query engine by switching between different engine instances based on query size classification. Small queries use a lightweight engine configuration while large queries trigger provisioning of a more powerful burst engine, optimizing resource utilization across different workload scenarios

Inventive Principle:
Principle #35Parameter changes

2Device complexity

If a single query engine is used for all query sizes, then system complexity is reduced, but resource utilization efficiency decreases due to inability to optimize for different workload types

Engineering Contradiction:
Improvequery engine configurationVSAvoidresource utilization efficiency
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

The system applies different quality levels of query engine resources to different query types. Instead of using a uniform engine configuration for all queries, the system classifies queries by size and applies appropriate engine resources locally to each query type, optimizing resource utilization while managing complexity through automated classification

Inventive Principle:
Principle #3Local quality

3Adaptability or versatility

If query engines are provisioned for maximum capacity, then all query types can be handled, but costs increase due to paying for unused capacity during most operations

Engineering Contradiction:
Improveability to handle all query typesVSAvoidresource allocation
Core Design Contradiction:
Adaptability or versatilityVSQuantity of substance

Solution Approach 1:

The system uses a burstable query engine that provides maximum capacity only when needed for large queries, while using a lighter engine configuration for small queries. This partial provisioning approach allows the system to handle all query types without permanently allocating resources for maximum capacity, reducing overall resource consumption and costs

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS12013856B2Burst performance of database queries according to query size
Publication Date: 2024.06.18 AMAZON TECH INC
  • US12013856B2 patent drawing
  • US12013856B2 patent drawing
  • US12013856B2 patent drawing

AI summary

Burst performance of a database query may be determined according to a size of the database query. A query to a database may be received. A size may be determined for the query. If the size is less than a size threshold assigned to a first query engine, then the query may be performed at the first query engine. If the size is greater than or equal to the size threshold assigned to the first query engine, then the query may be performed at a second query engine.