Database Join Prefetcher for Skewed Data
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing database join techniques do not account for data skew in join columns, leading to inefficient processing and reduced performance due to the filtering out of most rows from the outer table, which increases query execution time.
Innovation Solution
A database query processor with a join prefetcher that dynamically prefetches N next join column values from the inner table to skip rows in the outer table, allowing for more efficient query execution by reducing the number of rows processed.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If traditional join techniques are used without considering data skew, then the join operation can be performed using standard algorithms (merge-sort, nested-loop, hash join), but the query execution time increases significantly due to processing and filtering out most rows from the outer table
Solution Approach 1:
The patent applies preliminary action by prefetching N next join column values from the inner table before actually needing them during the join operation. This allows the system to prepare advance knowledge of upcoming join values, enabling it to skip rows in the outer table that would otherwise be processed and then filtered out. The prefetching occurs in advance of the actual join processing, preventing wasted processing time.
Solution Approach 2:
The patent implements dynamics by making the prefetch count N adjustable and adaptive rather than fixed. The system can dynamically determine and adjust the number of prefetches based on data skew patterns and query characteristics. This dynamic adjustment allows the system to optimize performance for different data distributions and query types, balancing the benefits of skipping rows against the overhead of prefetching operations.
2Speed
If the system prefetches more join column values (higher N) to skip more outer table rows, then query execution speed improves, but the complexity of the join processing logic increases
Solution Approach 1:
The patent applies segmentation by dividing the join processing into distinct phases: prefetching phase, filtering phase, and actual join phase. The prefetching of N values is separated from the main join logic, allowing the system to handle the complexity of dynamic prefetching independently from the core join algorithms. This segmentation makes the overall system more manageable while maintaining performance benefits.
Data Source
AI summary
A database query processor includes a database join prefetcher that prefetches N next join column values in order to execute the query more efficiently. The prefetched next join column values for an inner table are used to skip rows in an outer table, thereby increasing the performance of executing the query. The number N of prefetches can be dynamically determined and adjusted to improve the performance of executing the query.


