Database Management System Dynamic Task Generation for Memory Optimization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing database management systems face inefficiencies in utilizing limited memory resources during query execution, leading to increased query execution times due to improper allocation of tasks and memory usage across query blocks.

Innovation Solution

A database management system (DBMS) dynamically generates tasks for executing database operations and determines the optimal number of simultaneous tasks for each query block based on available memory resources, ensuring effective utilization of limited memory by adjusting task generation according to the execution progress and memory allocation.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If the DBMS equally allocates memory resources to multiple query blocks and executes tasks in parallel, then memory resources are allocated to multiple query blocks, but the task cannot be started until the other query block execution is completed, causing memory resources to be wasted and query execution time to increase

Engineering Contradiction:
Improvequery execution timeVSAvoidmemory resource utilization
Core Design Contradiction:
ProductivityVSLoss of energy

Solution Approach 1:

The patent applies dynamics by making the memory resource allocation flexible rather than static. The DBMS dynamically determines the execution order of query blocks based on their dependency relationships, and dynamically allocates memory resources accordingly. This allows the system to adapt memory allocation to the actual execution progress, enabling tasks in subsequent query blocks to start earlier when memory becomes available, thus reducing query execution time and improving memory utilization.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent segments the query execution into multiple independent query blocks that can be executed in different orders. By identifying dependency relationships between query blocks, the system can execute independent blocks in parallel or in an optimized sequence, rather than waiting for all blocks to complete in a fixed order. This segmentation enables better memory resource utilization and reduces overall query execution time.

Inventive Principle:
Principle #1Segmentation

2Quantity of substance

If the DBMS limits the allocatable memory resource amount for query execution, then memory resource consumption is controlled, but the number of tasks that can execute in parallel is restricted, reducing data read request multiplicity

Engineering Contradiction:
Improvememory resource amountVSAvoiddata read request multiplicity
Core Design Contradiction:
Quantity of substanceVSProductivity

Solution Approach 1:

The patent applies dynamics by making the memory resource allocation flexible rather than static. The DBMS dynamically determines the execution order of query blocks based on their dependency relationships, and dynamically allocates memory resources accordingly. This allows the system to adapt memory allocation to the actual execution progress, enabling tasks in subsequent query blocks to start earlier when memory becomes available, thus reducing query execution time and improving memory utilization.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent ensures continuous utilization of memory resources by optimizing the execution sequence of query blocks. Instead of leaving memory idle while waiting for previous query blocks to complete, the system continuously allocates memory to new tasks as soon as resources are available, maintaining high data read request multiplicity throughout the query execution process.

Inventive Principle:
Principle #20Continuity of useful action

3Productivity

If the DBMS generates tasks dynamically for each data read request, then parallel task execution is achieved, but the number of simultaneous tasks increases memory consumption beyond available resources

Engineering Contradiction:
Improveparallel task executionVSAvoidmemory resource consumption
Core Design Contradiction:
ProductivityVSQuantity of substance

Solution Approach 1:

The patent applies dynamics by making the memory resource allocation flexible rather than static. The DBMS dynamically determines the execution order of query blocks based on their dependency relationships, and dynamically allocates memory resources accordingly. This allows the system to adapt memory allocation to the actual execution progress, enabling tasks in subsequent query blocks to start earlier when memory becomes available, thus reducing query execution time and improving memory utilization.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent changes the parameter of memory allocation from a fixed equal distribution to a dynamic allocation based on query block dependencies and execution progress. By adjusting memory allocation parameters according to the actual execution state, the system can maintain an appropriate number of simultaneous tasks that utilizes available memory resources effectively without exceeding limits.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS9639576B2Database management system, computer, and database management method
Publication Date: 2017.05.02 HITACHI LTD
  • US9639576B2 patent drawing
  • US9639576B2 patent drawing
  • US9639576B2 patent drawing

AI summary

A database management system (DBMS) generates a query execution plan including information representing one or more database (DB) operations necessary for executing a query, and executes the query in accordance with the query execution plan. In the execution of the query, the DBMS dynamically generates tasks for executing the DB operations and executes the dynamically generated tasks. The query execution plan includes a plurality of query blocks, which are sets of one or more DB operations. When newly generating a task, the DBMS executes determination processing of simultaneous-task-generation number. The determination processing of simultaneous-task-generation number is to calculate, targeting each of the query blocks, the number of simultaneous task generation, which is the number of tasks simultaneously generatable as tasks for executing the query block. The number of the dynamically generated tasks is equal to or smaller than the number of simultaneous task generation.