Parallel Query Execution with Buffer Management

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing database management systems sequentially execute database operations, leading to increased query execution times due to the need for data reading from a database, and modifying these systems to parallelize tasks is complex and requires significant code rewriting.

Innovation Solution

A database management system is configured with a query reception part, query execution plan creation part, first and second query execution parts, and a buffer management part to dynamically manage data access, allowing the second query execution part to create tasks in parallel and store data in a buffer for subsequent use by the first query execution part, reducing the need for repeated database reads.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If a database management system sequentially executes database operations in a predetermined order, then the system maintains simplicity and stability, but the query execution time becomes longer due to suspended execution during data reads

Engineering Contradiction:
Improvesystem stabilityVSAvoidquery execution time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent divides the query execution process into multiple independent parts (first query execution part and second query execution part), each capable of executing database operations independently. This segmentation allows parallel execution of multiple operations simultaneously, reducing the total query execution time while maintaining system stability through structured organization of execution units

Inventive Principle:
Principle #1Segmentation

2Loss of time

If the database management system is modified to dynamically create tasks for parallel execution as disclosed in Patent Literature 1, then the query execution time is shortened, but the system complexity increases significantly requiring fundamental modification and extensive code rewriting

Engineering Contradiction:
Improvequery execution timeVSAvoidsystem complexity
Core Design Contradiction:
Loss of timeVSDevice complexity

Solution Approach 1:

The patent introduces a buffer management part as an intermediary component that mediates between the database and multiple query execution parts. This buffer acts as a centralized data cache that any query execution part can access, enabling parallel execution without requiring complex inter-process communication or synchronization mechanisms, thus reducing system complexity while achieving parallelism

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent creates multiple copies of query execution parts (first query execution part, second query execution part) that can independently execute database operations. Each copy has its own execution context but shares access to the common buffer, allowing simultaneous execution of multiple operations without modifying the core database management system architecture

Inventive Principle:
Principle #26Copying

3Reliability

If data is read from the database for each database operation execution, then data freshness is ensured, but the execution time increases due to repeated I/O operations

Engineering Contradiction:
Improvedata accuracyVSAvoidexecution time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent implements a buffer management part that pre-loads and caches data from the database before it is needed by query execution parts. When data is read into the buffer, it becomes available for immediate use by multiple query execution parts without requiring repeated reads from the database, thus reducing I/O operations and execution time while maintaining data accuracy through controlled buffer updates

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS10885030B2Database management system and computer system having first and second query execution parts which execute database operations in parallel
Publication Date: 2021.01.05 HITACHI LTD
  • US10885030B2 patent drawing
  • US10885030B2 patent drawing
  • US10885030B2 patent drawing

AI summary

A second query execution part is added to a database management system comprising a first query execution part configured to execute a query based on a query execution plan of a query to a database and to return a query execution result to the query issuance source and a buffer management part configured to read a data of a read request from the database to store the data into the buffer and to provide the data to an issuance source of the read request if data of a read request has not been stored in a buffer in the case where the read request of data is received and configured to read data of a read request from the buffer and to provide the data to a issuance source of the read request if data of a read request has been stored in the buffer.