Dynamic Concurrency Management for Database Query Workloads

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Database systems face challenges in managing increasing data workloads due to varying query types and intensities, leading to inefficiencies and increased costs as static concurrency levels fail to adapt optimally to changing workloads, potentially sacrificing performance and 'liveness'.

Innovation Solution

Implementing dynamic concurrency level management, where the database system automatically adjusts concurrency levels based on query memory usage estimates and available resources, using phases like expansion, contraction, and emergency phases to optimize query execution and maintain system performance.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If static concurrency levels are used in database systems, then system simplicity is maintained, but performance adaptability to changing workloads deteriorates

Engineering Contradiction:
Improveperformance adaptabilityVSAvoidconcurrency management complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent implements dynamic concurrency level adjustment by transitioning between expansion, contraction, and emergency phases based on system state metrics. The concurrency level is no longer static but dynamically adapts to workload changes, resource availability, and system performance conditions, directly resolving the contradiction between simplicity and adaptability.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system continuously monitors performance metrics, resource utilization, and query characteristics, then uses this feedback to adjust concurrency levels appropriately. This closed-loop control mechanism enables the system to automatically adapt to changing conditions without manual intervention, achieving both adaptability and automated simplicity.

Inventive Principle:
Principle #23Feedback

2Productivity

If concurrency level is increased to handle more queries, then query throughput improves, but system resource exhaustion and stalls worsen

Engineering Contradiction:
Improvequery throughputVSAvoidsystem liveness
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The system dynamically adjusts concurrency levels based on real-time resource availability and system state. During expansion phase, concurrency increases to maximize throughput; during contraction and emergency phases, concurrency decreases to prevent resource exhaustion and maintain system liveness, thus resolving the contradiction between throughput and reliability.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The emergency phase acts as a protective mechanism that preemptively reduces concurrency when resource exhaustion is detected, preventing system stalls and maintaining liveness. This cushioning approach ensures that the system can handle throughput demands while having built-in protection against resource exhaustion.

Inventive Principle:
Principle #11Beforehand cushioning (Prior cushioning)

3Reliability

If concurrency level is decreased to prevent resource exhaustion, then system stability improves, but query processing speed deteriorates

Engineering Contradiction:
Improvesystem stabilityVSAvoidquery processing speed
Core Design Contradiction:
ReliabilityVSSpeed

Solution Approach 1:

Rather than maintaining a fixed low concurrency level for stability, the system dynamically adjusts concurrency based on current conditions. During stable periods with sufficient resources, concurrency increases to maximize processing speed. When instability risks are detected, concurrency decreases to maintain stability, thus resolving the contradiction between stability and speed.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system changes the concurrency parameter dynamically based on system state metrics. This allows the concurrency level to be high when resources are abundant (maximizing speed) and low when resources are constrained (maintaining stability), effectively resolving the contradiction through parameter adaptation.

Inventive Principle:
Principle #35Parameter changes

4Productivity

If memory resources are allocated aggressively for query execution, then query performance improves, but system memory exhaustion and stalls worsen

Engineering Contradiction:
Improvequery execution efficiencyVSAvoidmemory exhaustion
Core Design Contradiction:
ProductivityVSObject-affected harmful factors

Solution Approach 1:

The system monitors memory usage metrics and uses this feedback to adjust both concurrency levels and memory allocation strategies. When memory usage approaches thresholds, the system reduces concurrency and adjusts allocation to prevent exhaustion while maintaining query execution efficiency within available resources, resolving the contradiction between performance and resource exhaustion risks.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS11762860B1Dynamic concurrency level management for database queries
Publication Date: 2023.09.19 AMAZON TECH INC
  • US11762860B1 patent drawing
  • US11762860B1 patent drawing
  • US11762860B1 patent drawing

AI summary

Database systems may dynamically management concurrency levels for performing queries. A query may be received at a database system and a memory usage for the query may be predicted. A determination may be made as to whether available memory is enough to satisfy the predicted memory usage for the query. If the available memory is enough to satisfy the predicted memory usage for the query, then an increase in a concurrency level for performing queries at the database system may be made. The query may be allowed to execute concurrently with other queries according to the increased concurrency level.