Parallel Database Query Processing via Node Segmentation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current database systems face limitations in processing speed due to hardware constraints, data storage methods, and restricted co-processing options, which hinder efficient execution of complex database functions.

Innovation Solution

A parallelized database system architecture that utilizes multiple computing devices and nodes to divide and process data partitions in parallel, optimizing query execution through a query processing system that includes parallelized data input, storage, retrieval, and processing sub-systems, as well as query and response sub-systems, enabling efficient storage and processing of large data sets.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If a database system processes queries using traditional sequential methods, then hardware constraints and data storage methods limit processing speed, but parallelized processing across multiple nodes increases processing time and system complexity

Engineering Contradiction:
Improvequery processing speedVSAvoidsystem architecture complexity
Core Design Contradiction:
SpeedVSDevice complexity

Solution Approach 1:

The patent divides the database system into multiple independent nodes, each capable of processing queries autonomously. Data is partitioned across these nodes, allowing parallel query execution. Each node maintains local data structures and can process queries independently, eliminating the need for complex centralized coordination while achieving parallel processing speedups.

Inventive Principle:
Principle #1Segmentation

2Productivity

If data is stored in a distributed manner across multiple nodes, then data retrieval speed improves through parallel access, but data consistency and coordination between nodes become more difficult to maintain

Engineering Contradiction:
Improvedata retrieval efficiencyVSAvoiddata consistency
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

Each node in the database system autonomously manages its own data partitions and query processing without requiring complex inter-node coordination. Nodes independently execute queries on their local data, maintaining data consistency through self-contained transaction management. This self-service approach eliminates coordination overhead while preserving data integrity across the distributed system.

Inventive Principle:
Principle #25Self-service

3Measurement precision

If complex query operations are executed sequentially, then processing accuracy is maintained, but execution time increases significantly for large data sets

Engineering Contradiction:
Improvequery result accuracyVSAvoidquery execution time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

Complex queries are divided into independent sub-queries that can be executed in parallel across multiple nodes. Each node processes its portion of the query independently, maintaining the same accuracy standards as sequential processing. Results from all nodes are then aggregated to produce the final query result, achieving both parallel speedup and result accuracy.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS20230409579A1Executing a query expression via a database system by processing a prior row index identifier
Publication Date: 2023.12.21 OCIENT HOLDINGS LLC
  • US20230409579A1 patent drawing
  • US20230409579A1 patent drawing
  • US20230409579A1 patent drawing

AI summary

A query processing system is operable to receive a query expression that includes a call to a computing window function indicating an expression that includes a column reference that includes a prior row index identifier. The computing window function is executed based on accessing at ordered set of rows of the database indicated in the call to the computing window function. An output column is generated based on generating output for each row of a set of rows in the ordered set of rows by evaluating the expression based on performing at least one operation upon a column value, determined based on applying the column reference, of a previous row in the ordered set of rows. A query resultant for the query expression is generated based on the output column generated for the rows in the ordered set of rows.