Adaptive Query Execution Plans for Parallel Database Memory Load

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing parallel database systems face performance degradation due to fixed work memory configurations that do not account for varying memory loads across data nodes, leading to suboptimal query execution plans.

Innovation Solution

Implement a system where coordinator nodes and data nodes dynamically monitor and adjust query execution plans based on current memory availability, using memory load data to calculate adaptive work memory configurations, ensuring plans are optimized for each node's resources.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If a fixed work memory configuration is used to optimize query plans, then the query planner can determine optimal execution plans based on predetermined memory assumptions, but the system performance degrades when actual memory loads on data nodes vary from the fixed configuration

Engineering Contradiction:
Improvequery execution plan optimalityVSAvoidadaptability to varying memory loads
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

Solution Approach 1:

The patent implements dynamic work memory configuration by having the query planner receive actual memory load information from data nodes and adjust the work memory setting accordingly. Instead of using a fixed predetermined memory value, the system dynamically determines the work memory based on real-time monitoring of data node memory usage, allowing the query execution plan to adapt to varying memory conditions and maintain optimality.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent establishes a feedback mechanism where data nodes monitor their own memory loads and report this information back to the query planner. The query planner uses this feedback to calculate accurate work memory values and generate optimized query execution plans. This closed-loop feedback system ensures that query plans are continuously adapted to match actual system conditions, resolving the contradiction between fixed configuration reliability and adaptability.

Inventive Principle:
Principle #23Feedback

2Device complexity

If the same query plan segment is passed to all data nodes, then the system maintains simplicity in plan distribution, but non-uniform data distribution and varying memory loads result in non-optimal execution on individual nodes

Engineering Contradiction:
Improvequery plan distribution simplicityVSAvoidquery execution efficiency
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

The patent applies local quality by customizing query execution plans for individual data nodes based on their specific memory load conditions and data distribution characteristics. Instead of using a uniform plan for all nodes, the system generates node-specific optimized plans that account for local variations in memory availability and data skew, thereby improving query execution efficiency while maintaining manageable system complexity through automated plan generation.

Inventive Principle:
Principle #3Local quality

Data Source

PatentEP3251034B1Query optimization adaptive to system memory load for parallel database systems
Publication Date: 2022.02.16 HUAWEI TECH CO LTD
  • EP3251034B1 patent drawingFigure 1
  • EP3251034B1 patent drawingFigure 2
  • EP3251034B1 patent drawingFigure 3

AI summary

A method for adaptively generating a query execution plan for a parallel database distributed among a cluster of data nodes includes receiving memory usage data from a multiple data nodes including network devices, calculating a representative memory load corresponding to the data nodes based on the memory usage data, categorizing a memory mode corresponding to the data nodes based on the calculated representative memory load, calculating an available work memory corresponding to the data nodes based on the memory mode, and generating the query execution plan for the data nodes based on the available work memory, wherein the memory usage data is based on monitored individual memory loads associated with the data nodes and the query execution plan corresponds to the currently available work memory.