Dynamic Compute Node Grouping for MPP Database Optimization
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Massively parallel processing shared nothing relational database management systems (RDBMS) face underutilization or overutilization of compute nodes due to statically assigned storage and compute node architectures, leading to inefficient query processing and sub-optimal logic plans.
Innovation Solution
Dynamic computation node grouping decouples storage and computation, allowing for data redistribution and dynamic reassignment of storage across compute nodes, enabling flexible inter-partition parallelism and optimal logic plan selection based on cost analysis.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If storage and compute nodes are statically assigned in a MPP shared nothing RDBMS, then system architecture is simple and stable, but compute nodes are underutilized or overutilized leading to inefficient query processing
Solution Approach 1:
The patent implements dynamic computation node grouping that allows compute nodes to be dynamically reassigned to different storage nodes based on query requirements. The system decouples the static one-to-one mapping between storage and compute nodes, enabling compute nodes to flexibly access data across multiple storage nodes through dynamic group formation and data redistribution mechanisms.
2Speed
If data is repartitioned and transmitted between shared nothing nodes, then query responsiveness is improved, but network overhead and data redistribution costs increase
Solution Approach 1:
The system performs preliminary data redistribution and computation node grouping before query execution. By pre-establishing dynamic computation node groups and redistributing data in advance based on predicted query patterns, the system reduces network overhead during actual query processing while maintaining fast response speeds.
Solution Approach 2:
The patent changes the parameter of data distribution by implementing multiple distribution strategies (e.g., hash distribution, range distribution) and dynamically selecting the optimal strategy based on query characteristics. This allows the system to minimize network overhead by choosing the most efficient data transmission approach for each specific query scenario.
3Productivity
If sub-optimal logic plans are used for query processing, then implementation is simpler, but compute nodes are inefficiently utilized
Solution Approach 1:
The system implements feedback mechanisms that monitor compute node utilization and query performance metrics. Based on this feedback, the optimizer dynamically adjusts logic plans and computation node grouping strategies to improve compute node utilization efficiency while managing optimization complexity through iterative refinement.
Data Source
AI summary
A massively parallel processing shared nothing relational database management system includes a plurality of storages assigned to a plurality of compute nodes. The system comprises a non-transitory memory having instructions and one or more processors in communication with the memory. The one or more processors execute the instructions to store a set of data in a first set of storages in the plurality of storages. The first set of data is hashed into a repartitioned set of data. The first set of storages is reassigned to a second set of compute nodes in the plurality of compute nodes. The repartitioned set of data is distributed to the second set of compute nodes and a database operation is performed on the repartitioned set of data by the second set of compute nodes.


