Outer Join Skew Handling in Parallel Database Systems
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Massively Parallel Processing (MPP) systems face performance degradation due to data skew during join operations in database queries, where uneven distribution of records across processors leads to increased query response times, especially when one value has a higher occurrence frequency than average.
Innovation Solution
The system employs a method to mitigate data skew by identifying skewed values in both tables and using special distribution operators to partition the data, ensuring that skewed records are evenly distributed across processors, and designating a specific join instance to handle null-instantiated rows for missing values, thereby maintaining uniform data distribution.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If data is partitioned by value using hash function, then join operations can be performed in parallel locally on each CPU, but data skew causes uneven distribution of records leading to degraded query response time
Solution Approach 1:
The system performs preliminary identification of skewed values using metadata before executing the join operation. This advance detection allows the system to prepare special distribution operators that will evenly distribute skewed records across processors during the join, preventing the performance degradation that would otherwise occur due to data skew.
Solution Approach 2:
The system applies different distribution strategies to different data characteristics. Regular values are distributed using standard hash-based partitioning, while identified skewed values receive special treatment through replicated distribution to multiple processors. This localized quality adjustment ensures optimal performance for both uniform and skewed data distributions.
2Reliability
If skewed values are distributed to a single CPU for accurate join matching, then join accuracy is maintained, but that CPU becomes a bottleneck significantly increasing processing time
Solution Approach 1:
The system segments the handling of skewed values by distributing them to multiple join instances rather than concentrating them on a single CPU. Each join instance receives a portion of the skewed records, allowing parallel processing while maintaining join accuracy through coordinated null-instantiation logic that ensures complete matching.
Solution Approach 2:
The system introduces special distribution operators as intermediaries between the data source and join instances. These operators replicate skewed records to multiple processors and coordinate the join operation, acting as a mediator that balances the load while ensuring accurate join matching through null-instantiated row generation.
3Adaptability or versatility
If outer join is performed with skewed data distribution, then all records from outer table are processed, but skewed inner values cause uneven workload across processors
Solution Approach 1:
The system performs preliminary identification of skewed values in both outer and inner tables using metadata before executing the outer join. This advance detection enables the system to prepare special distribution operators that will evenly distribute skewed records from both tables across processors, ensuring balanced workload while maintaining outer join completeness.
Solution Approach 2:
The system applies differentiated distribution strategies to outer and inner table records based on their skew characteristics. Outer table records are distributed to ensure all records are processed, while inner table skewed values receive replicated distribution to multiple processors. This localized quality adjustment maintains outer join semantics while balancing the computational workload.
Data Source
AI summary
There is provided a computer-executable method of executing an outer join on a parallel database management system. An exemplary method comprises receiving an outer skewed values list (SVL). The outer SVL may comprise values that are indicated to be skewed. The exemplary method further comprises receiving an inner SVL. The inner SVL may comprise values that are indicated to be skewed. Additionally, the exemplary method comprises partitioning the outer table and the inner table across a plurality of join instances, based on the outer SVL and the inner SVL. A missing skew value is identified. The missing skewed value may be a value of the inner SVL that is not found in the inner table. The outer join is performed using the plurality of join instances, based on the missing skewed value.


