Query Resource Optimizer for Dynamic SQL Allocation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing approaches to running SQL queries in parallel within a database face challenges such as resource overloading and delays, as they fail to dynamically allocate resources effectively, leading to poor performance.

Innovation Solution

A computer-implemented method that involves training a model to identify SQL queries, grouping incoming queries based on shared programs, monitoring resource usage, and dynamically allocating resources to optimize query execution.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If SQL queries are run in parallel using first come first get approach, then query execution speed is improved, but resource allocation becomes inefficient and lower priority queries occupy resources

Engineering Contradiction:
Improvequery execution speedVSAvoidresource allocation efficiency
Core Design Contradiction:
SpeedVSProductivity

Solution Approach 1:

The patent implements dynamic resource allocation by continuously monitoring query priorities and resource usage in real-time. The system dynamically adjusts resource distribution based on current query characteristics and system state, allowing higher priority queries to receive more resources when needed while ensuring fair allocation to lower priority queries, thus resolving the contradiction between execution speed and resource efficiency

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system employs feedback mechanisms where resource usage metrics and query priorities are continuously monitored and fed back into the allocation decision-making process. This feedback loop enables the system to learn from past allocations and optimize future resource distribution, preventing resource hoarding by lower priority queries while maintaining fast execution for high priority queries

Inventive Principle:
Principle #23Feedback

2Quantity of substance

If SQL queries are run in parallel using low priority low resource approach, then resource consumption is reduced, but query execution performance deteriorates due to delays

Engineering Contradiction:
Improveresource consumptionVSAvoidquery execution time
Core Design Contradiction:
Quantity of substanceVSLoss of time

Solution Approach 1:

The patent applies local quality by differentiating resource allocation based on individual query characteristics and priorities. Instead of uniform resource distribution, the system allocates resources locally to each query based on its specific needs and priority level, allowing high priority queries to receive adequate resources for fast execution while lower priority queries receive proportional resources, thus avoiding both resource exhaustion and execution delays

Inventive Principle:
Principle #3Local quality

3Productivity

If more SQL queries are executed in parallel, then throughput is improved, but computing resources become exhausted

Engineering Contradiction:
Improvequery throughputVSAvoidcomputing resources
Core Design Contradiction:
ProductivityVSQuantity of substance

Solution Approach 1:

The system dynamically changes allocation parameters such as resource quotas, priority weights, and execution thresholds based on system state and query characteristics. By adjusting these parameters in real-time, the system can maximize throughput by allowing more parallel queries when resources are abundant while preventing resource exhaustion by reducing parallelism when resources are constrained, thus resolving the contradiction between throughput and resource consumption

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS12306831B2Query resource optimizer
Publication Date: 2025.05.20 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US12306831B2 patent drawing
  • US12306831B2 patent drawing
  • US12306831B2 patent drawing

AI summary

A method includes training, by a computing device, a model to identify SQL queries; identifying, by the computing device, incoming SQL queries; grouping, by the computing device, the incoming SQL queries into groups; monitoring, by the computing device, resource usage of the incoming SQL queries in the groups; and allocating, by the computing device, resources to an SQL query of the incoming SQL queries based on the monitoring.