Parallel Query Plan Optimization Across Multiple Execution Paths
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing database systems face limitations in processing speed due to hardware constraints, data storage methods, and restricted co-processing options, leading to inefficiencies in data processing and query execution.
Innovation Solution
A database system employing a parallelized architecture with multiple computing devices and nodes, each equipped with processing core resources, allows for lock-free and parallel execution of data input, storage, retrieval, and query processing, utilizing a cost analysis function to optimize query plans and distribute processing across nodes.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Speed
If a database system uses traditional sequential processing architecture, then hardware implementation is simpler, but processing speed and query execution efficiency are limited
Solution Approach 1:
The patent divides the database system into multiple independent nodes, each capable of autonomous query processing. The query optimizer segments the query plan generation into parallel operations across nodes, allowing simultaneous execution of multiple query operations without requiring complex centralized coordination, thus improving processing speed while managing architecture complexity through modular design
Solution Approach 2:
The patent transitions from sequential single-threaded query processing to parallel multi-threaded processing across multiple nodes. By adding the spatial dimension of distributed nodes and the temporal dimension of parallel execution, the system achieves higher processing speeds without proportionally increasing overall system complexity through standardized node interfaces
2Productivity
If the database system implements parallelized architecture with multiple nodes, then query processing speed improves, but system complexity increases
Solution Approach 1:
Each node in the distributed database system is designed as a universal processing unit capable of independently executing complete query operations including parsing, optimization, and execution. This multi-functionality allows any node to handle any query type, simplifying the overall system architecture by eliminating the need for specialized nodes and reducing inter-node communication overhead, thereby improving productivity without proportionally increasing complexity
Solution Approach 2:
The query optimizer at each node autonomously generates optimized query plans without requiring centralized coordination or complex inter-node communication for plan generation. Each node independently performs cost analysis, selects execution strategies, and manages its own query processing resources, which simplifies system architecture while maintaining high query processing throughput through distributed autonomous operation
3Speed
If the database system uses traditional data storage and retrieval methods, then storage implementation is simpler, but data retrieval speed and processing efficiency are reduced
Solution Approach 1:
The patent divides the storage system into distributed data segments across multiple nodes, with each node maintaining local data storage and retrieval capabilities. The query optimizer segments retrieval operations to access only relevant data segments in parallel across nodes, improving data retrieval speed while managing storage architecture complexity through standardized segment interfaces and distributed storage protocols
Data Source
AI summary
A database system includes a parallelized data input sub-system including a first plurality of nodes, a parallelized data store, retrieve, and process sub-system including a second plurality of nodes, and a parallelized query and response sub-system including a third plurality of nodes. The third plurality of nodes is operable to receive a plurality of queries in parallel and assign a first query to a first node of the third plurality of nodes. The first node is operable to convert an instruction set of the first query into a hierarchical tree structure of code constructs, map database operations to the hierarchical tree structure of code constructs to produce a hierarchical tree structure of database operations, generate an initial query plan from the hierarchical tree structure of database operations in accordance with dataset storage information and a set of available nodes, and optimize the initial query plan to produce an optimized query plan.


