Database Resource Tuning for Query Execution Efficiency

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Database systems face performance loss due to suboptimal resource setting levels, which affect query execution times and efficiency, leading to increased power consumption and reduced throughput.

Innovation Solution

A processor determines and tunes resource setting levels by analyzing query execution times and resource usage characteristics, assigning queries to resource bins based on usage ranges, and iteratively adjusting settings to find the lowest average execution time, thereby optimizing query execution efficiency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If resource setting levels are increased to improve query execution speed, then query throughput increases, but power consumption increases

Engineering Contradiction:
Improvequery throughputVSAvoidpower consumption
Core Design Contradiction:
ProductivityVSUse of energy by moving object

Solution Approach 1:

The system dynamically changes resource setting parameters (CPU quota, memory limit, I/O threshold) based on observed query performance characteristics. By adjusting these parameters iteratively, the system finds optimal settings that maximize query throughput while minimizing power consumption, resolving the contradiction between productivity and energy use.

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The system implements feedback loops where query execution times are measured under different resource settings, and these measurements are used to adjust future resource allocations. This feedback mechanism enables the system to learn from past performance and continuously optimize the balance between throughput and power consumption.

Inventive Principle:
Principle #23Feedback

2Loss of time

If resource setting levels are optimized for minimum execution time, then query efficiency improves, but system complexity increases

Engineering Contradiction:
Improvequery execution timeVSAvoidresource tuning complexity
Core Design Contradiction:
Loss of timeVSDevice complexity

Solution Approach 1:

The system performs self-tuning by automatically determining optimal resource settings without requiring manual intervention or complex external configuration. The database system itself executes queries under different resource settings, measures performance, and selects the optimal configuration, thereby reducing the complexity burden on users while achieving minimum execution times.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The system performs preliminary testing under multiple resource settings before settling on the final configuration. By pre-evaluating different resource allocation scenarios and selecting the optimal one in advance, the system minimizes execution time while keeping the actual operational complexity low, as the complex exploration phase is completed beforehand.

Inventive Principle:
Principle #10Preliminary action

3Productivity

If multiple resource setting levels are tested to find optimal configuration, then query performance improves, but execution time for tuning increases

Engineering Contradiction:
Improvequery performanceVSAvoidtuning execution time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The system tests a limited set of resource setting levels rather than exhaustively searching all possible configurations. By selecting a representative subset of resource settings to evaluate, the system achieves sufficient performance optimization without incurring the time cost of comprehensive testing, applying partial action to balance performance gain against tuning time.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS10789247B2Tune resource setting levels for query execution
Publication Date: 2020.09.29 MICROSOFT TECHNOLOGY LICENSING LLC
  • US10789247B2 patent drawing
  • US10789247B2 patent drawing
  • US10789247B2 patent drawing

AI summary

According to examples, an apparatus may include a machine readable medium on which is stored machine readable instructions that may cause a processor to, for each of a plurality of resource setting levels, determine resource usage characteristics and execution times of executed workloads, assign, based on the resource usage characteristics of the executed workloads, each of the executed workloads into one of a plurality of resource bins, determine, for each of the resource bins, an average execution time of the executed workloads in the resource bin, determine a total average execution time of the executed workloads from the determined average execution times, identify a lowest total average execution time of the determined total average execution times, determine the resource setting level corresponding to the identified lowest total average execution time, and tune a resource setting to the determined resource setting level.