Database Query Pushdown for Parallel Computation Bottlenecks

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Database systems face increased query processing times and bottlenecks due to data shuffling between nodes when processing parallel computation tasks, as they need to retrieve data from multiple nodes, leading to inefficiencies in data transfer and computation task processing.

Innovation Solution

Implementing a system where the computation engine generates queries to push down computation commands to the DBMS, allowing for pre-processing of data and reducing data shuffling by utilizing a data locality-aware approach, where processing nodes retrieve data locally from connected database nodes, thereby optimizing data transfer and computation efficiency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If data is retrieved from multiple database nodes to process parallel computation tasks, then computation completeness is improved, but data transfer time and processing bottlenecks increase

Engineering Contradiction:
Improvecomputation completenessVSAvoidquery processing time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent applies local quality by enabling each processing node to access only the specific data segments stored on its locally connected database node, rather than requiring all nodes to access all data. This localized data access approach maintains computation completeness while eliminating the need for time-consuming data shuffling across the network, as each node processes computations on data already available locally.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The patent segments both the computation tasks and the database nodes into corresponding groups, where each processing node is connected to a specific database node. This segmentation allows parallel processing of different data segments without requiring inter-node data transfer, as each segment can be processed independently on its associated node pair.

Inventive Principle:
Principle #1Segmentation

2Adaptability or versatility

If data is shuffled between database nodes to satisfy queries, then query fulfillment is improved, but data transfer overhead and system bottlenecks worsen

Engineering Contradiction:
Improvequery fulfillment capabilityVSAvoiddata transfer overhead
Core Design Contradiction:
Adaptability or versatilityVSLoss of energy

Solution Approach 1:

The patent applies preliminary action by pre-establishing local connections between processing nodes and database nodes before computation tasks are executed. Data is made locally available in advance on each database node, eliminating the need for time-consuming data shuffling operations during query processing. This preliminary arrangement enables queries to be fulfilled using only local data access.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent enables each processing node to query and process only the data segments stored on its locally connected database node, eliminating the need for network-based data shuffling. This localized approach maintains full query fulfillment capability for distributed datasets while eliminating the energy overhead of transferring data across the network.

Inventive Principle:
Principle #3Local quality

3Productivity

If parallel computation tasks are processed by retrieving data from multiple nodes, then computation throughput is improved, but system bottlenecks increase

Engineering Contradiction:
Improvecomputation throughputVSAvoidsystem bottlenecks
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent segments the parallel computation system into independent processing units, where each processing node operates with its locally connected database node. This segmentation eliminates system-wide bottlenecks by allowing each segment to process data independently without requiring coordination or data transfer between segments, thereby maintaining high computation throughput with reduced complexity.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Each processing node serves itself by accessing data locally from its connected database node, without requiring data to be fetched from other nodes. This self-service approach eliminates the coordination overhead and bottlenecks associated with centralized data management, enabling scalable parallel processing.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS10909119B2Accessing electronic databases
Publication Date: 2021.02.02 ROCKET SOFTWARE
  • US10909119B2 patent drawing
  • US10909119B2 patent drawing
  • US10909119B2 patent drawing

AI summary

Examples disclosed herein relate to accessing electronic databases. Some examples disclosed herein may include partitioning a computation task into subtasks. A processing node of a computation engine may generate a database query for retrieving an electronic data segment associated with at least one of the subtasks from a database. The database query may include pre-processing instructions for a database management system (DBMS) associated with the database to pre-process the electronic data segment before providing the electronic data segment to the processing node. The pre-processing instructions may include at least one of: filtering, projection, join, aggregation, count, and user-defined instructions. The generated query may be provided to the DBMS.