Dynamic Query Parallelism Optimization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current database systems lack a mechanism to dynamically prioritize the parallel execution of queries based on user workload definitions and available system resources, leading to suboptimal performance.

Innovation Solution

A system that identifies the priority of a user query, checks real-time resource availability, and calculates an optimal degree of parallelism to generate an execution plan, integrating query optimization with workload management.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If a query is executed with high degree of parallelism, then query execution speed is improved, but system resource consumption increases

Engineering Contradiction:
Improvequery execution speedVSAvoidsystem resource consumption
Core Design Contradiction:
SpeedVSUse of energy by moving object

Solution Approach 1:

The patent implements dynamic adjustment of parallelism degree based on real-time resource availability metrics. The system continuously monitors resource conditions and adjusts the parallelism degree of query execution plans accordingly, transitioning from static to dynamic resource allocation. This allows the system to optimize query execution speed while adapting to changing resource consumption conditions.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system changes the parameter of parallelism degree based on resource availability. By calculating an optimal parallelism degree that considers both query priority and real-time resource metrics, the system adjusts execution parameters to balance speed improvement with resource consumption control.

Inventive Principle:
Principle #35Parameter changes

2Productivity

If static parallelism degree is used for query execution, then system complexity is reduced, but query performance optimization is insufficient

Engineering Contradiction:
Improvequery performanceVSAvoidsystem complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The system performs preliminary calculations of optimal parallelism degree before query execution by evaluating query priority and resource availability metrics in advance. This preliminary action allows the system to prepare optimized execution plans without adding significant complexity during actual query processing.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent introduces an intermediary optimization layer that sits between query submission and execution. This intermediary component calculates optimal parallelism degrees and generates optimized execution plans, acting as a mediator that translates static resource conditions into dynamic execution strategies without requiring fundamental changes to the core database engine.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Productivity

If dynamic optimization of parallelism degree is implemented, then query performance is improved, but calculation overhead increases

Engineering Contradiction:
Improvequery performanceVSAvoidcalculation overhead time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The system applies partial optimization by focusing calculation efforts on the most critical aspects of query execution planning. Rather than optimizing every aspect of query processing, the system concentrates on determining optimal parallelism degree based on priority and resource metrics, achieving performance improvement with minimal additional calculation overhead.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS20220365931A1Dynamic degree of query parallelism optimization
Publication Date: 2022.11.17 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US20220365931A1 patent drawing
  • US20220365931A1 patent drawing
  • US20220365931A1 patent drawing

AI summary

Approaches presented herein enable dynamic optimization of a degree to which a query is parallelized for execution. More specifically, a priority associated with an obtained user query for execution is identified. A real-time metric indicating availability of one or more runtime resources is checked. An optimal degree of parallelism is calculated based on the priority associated with the obtained user query and the real-time availability metric. A plan is generated for executing the query using the calculated optimal degree of parallelism.