Storage Node Data Block Modification for Database Query Acceleration

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current database systems face challenges in reducing query execution time due to inefficient data transfer between database nodes and storage nodes, which increases network traffic and processing load on compute nodes.

Innovation Solution

The proposed solution involves a storage node applying evaluation criteria from a database statement to data blocks, modifying them by reshaping and updating block headers, thereby reducing the amount of data transferred and processing required at compute nodes.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If storage nodes pass targeted data blocks from storage to compute nodes for processing the entirety of a database statement, then compute nodes can process complete database statements, but network traffic increases and query execution time increases

Engineering Contradiction:
Improvequery execution timeVSAvoiddata transfer volume
Core Design Contradiction:
ProductivityVSQuantity of substance

Solution Approach 1:

The storage node performs preliminary actions by evaluating predicates and modifying data blocks before transferring them to compute nodes. This includes applying evaluation criteria to data blocks, reshaping them, and modifying block headers in advance, so that compute nodes receive pre-processed data requiring less processing

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The storage node extracts only the necessary portions of data blocks that meet the evaluation criteria. By filtering and selecting specific data blocks that satisfy predicate conditions at the storage node, the system transfers only relevant data to compute nodes, reducing overall data transfer volume

Inventive Principle:
Principle #2Taking out (Extraction)

2Quantity of substance

If storage nodes apply evaluation criteria and modify data blocks before transfer, then data transfer volume decreases, but storage node processing complexity increases

Engineering Contradiction:
Improvedata transfer volumeVSAvoidstorage node processing complexity
Core Design Contradiction:
Quantity of substanceVSDevice complexity

Solution Approach 1:

The storage node performs self-service by autonomously evaluating predicates and modifying its own data blocks before transfer. The storage node uses the evaluation criteria from database statements to independently determine which data blocks to transfer and how to modify them, reducing reliance on compute nodes for initial filtering

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The storage node acts as an intermediary between the database statement requirements and the compute node processing needs. It mediates by transforming raw data blocks into optimized formats that meet both storage efficiency requirements and query processing requirements, using evaluation criteria as the basis for transformation

Inventive Principle:
Principle #24Intermediary (Mediator)

3Productivity

If compute nodes receive and process the entirety of data blocks, then complete database statements can be processed, but processing load on compute nodes increases

Engineering Contradiction:
Improvequery execution timeVSAvoidcompute node processing load
Core Design Contradiction:
ProductivityVSUse of energy by moving object

Solution Approach 1:

The storage node performs preliminary data block evaluation and modification before transfer, so that compute nodes receive pre-filtered and optimized data blocks. This preliminary processing at the storage node reduces the amount of work compute nodes must perform, lowering their processing load and energy consumption

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS12265532B2Accelerating query execution by optimizing data transfer between storage nodes and database nodes
Publication Date: 2025.04.01 ORACLE INT CORP
  • US12265532B2 patent drawing
  • US12265532B2 patent drawing
  • US12265532B2 patent drawing

AI summary

Techniques for accelerating query execution by optimizing data transfer between storage nodes and database nodes are provided. In one technique, a compute node receives a database statement and transmits a set of one or more selection criteria associated with the database statement to a storage node. Based on the database statement, the storage node retrieves a set of data blocks from storage. Each data block comprises multiple rows of an index-organized table (IOT), each row comprising a key section and a non-key section. The storage node applies the set of selection criteria to a data block, resulting in a modified data block. The storage node generates a modified header data for the modified data block and transmits the modified data block to the compute node.