Database Query Optimization via Computation Graph Transformation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing query optimization techniques in distributed computing environments are inefficient, as they do not effectively determine the optimal execution approach for queries, leading to varying processing times ranging from fractions of a second to hours, and often fail to adapt to changing resource utilization and query patterns.

Innovation Solution

The system generates a computation graph for database queries, transforms it into an optimized form using machine learning techniques, and distributes it across multiple computing systems for execution, employing an objective function with tunable weights to determine the best execution plan, incorporating A-star search and Gaussian Processes for cost optimization and adaptive learning.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If traditional query optimization techniques are used in distributed computing environments, then the system can execute queries, but the processing time varies significantly from fractions of a second to hours and the system cannot adapt to changing resource utilization and query patterns

Engineering Contradiction:
Improvequery execution timeVSAvoidadaptability to resource changes
Core Design Contradiction:
ProductivityVSAdaptability or versatility

Solution Approach 1:

The patent implements dynamic query optimization by continuously monitoring resource utilization and query patterns, then adapting the execution plan accordingly. The system transforms the static optimization approach into a dynamic one that adjusts to changing conditions in real-time, resolving the contradiction between execution time and adaptability.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system incorporates feedback mechanisms that monitor query execution performance and resource utilization, then use this information to improve future query optimization decisions. This feedback loop enables the system to adapt to changing conditions and consistently improve query execution time while maintaining versatility.

Inventive Principle:
Principle #23Feedback

2Productivity

If multiple candidate transformations are evaluated to optimize the computation graph, then query execution efficiency improves, but the optimization process complexity increases

Engineering Contradiction:
Improvequery execution efficiencyVSAvoidoptimization process complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The system performs preliminary evaluation of candidate transformations by estimating their costs before full execution. This preliminary assessment allows the system to identify promising optimization paths without committing all resources upfront, thus improving query execution efficiency while controlling optimization complexity.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent employs parameter changes in the form of cost functions and transformation criteria that guide the evaluation of candidate transformations. By adjusting these parameters based on query characteristics and system state, the system can efficiently explore the transformation space without being overwhelmed by complexity.

Inventive Principle:
Principle #35Parameter changes

3Loss of time

If the system determines the optimal execution plan by evaluating transformation costs over a threshold period of time, then query execution time is reduced, but the optimization overhead increases

Engineering Contradiction:
Improvequery execution timeVSAvoidoptimization overhead
Core Design Contradiction:
Loss of timeVSUse of energy by stationary object

Solution Approach 1:

The system applies partial optimization by evaluating only the most promising candidate transformations rather than exhaustively analyzing all possible transformations. This partial action approach reduces query execution time while keeping optimization overhead manageable by focusing computational resources on the most impactful optimizations.

Inventive Principle:
Principle #16Partial or excessive action

Solution Approach 2:

The patent implements periodic re-evaluation of query execution plans based on changing system conditions rather than continuous optimization. This periodic approach allows the system to reduce query execution time when beneficial while avoiding excessive optimization overhead during stable periods.

Inventive Principle:
Principle #19Periodic action

Data Source

PatentUS10437843B2Optimization of database queries via transformations of computation graph
Publication Date: 2019.10.08 MICROSOFT TECHNOLOGY LICENSING LLC
  • US10437843B2 patent drawing
  • US10437843B2 patent drawing
  • US10437843B2 patent drawing

AI summary

Various embodiments of the present disclosure can include systems, methods, and non-transitory computer readable media configured to receive at least one database query to be executed. At least one computation graph corresponding to the at least one database query is generated. The computation graph is transformed to an optimized computation graph. The respective portions of the optimized computation graph are distributed to a plurality of distributed computing systems for execution. A result for the at least one database query is provided.