Predicate Ordering in Column Partitioned Databases
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Inefficient and inaccurate predicate ordering in column partitioned databases can adversely impact query performance, as existing algorithms only consider CPU cost and selectivity, neglecting the importance of column partition access order and grouping predicates by referenced partitions.
Innovation Solution
A two-step predicate ordering algorithm that groups predicates based on referenced column partitions and orders them within each group and across groups to minimize overall cost, using new data structures to analyze and optimize predicate evaluation sequences.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Power
If predicates are ordered using existing algorithms that only consider CPU cost and selectivity, then CPU efficiency is improved, but overall query performance deteriorates due to neglecting column partition access order and IO costs
Solution Approach 1:
The patent extends the predicate ordering criteria by introducing new parameters (IO cost, column partition access patterns) alongside the traditional CPU cost and selectivity metrics. This multi-parameter cost model enables the optimizer to evaluate and order predicates based on their comprehensive impact on query performance, resolving the contradiction between CPU efficiency and overall productivity.
2Adaptability or versatility
If predicates are evaluated without grouping by referenced column partitions, then evaluation flexibility is maintained, but IO cost increases due to redundant column partition accesses
Solution Approach 1:
The patent groups predicates that reference the same set of column partitions into equivalence classes. By evaluating grouped predicates together after accessing their shared column partitions, the system eliminates redundant IO operations while preserving evaluation flexibility through maintained ordering options within each group.
3Ease of operation
If column partitions are accessed for each predicate individually, then predicate evaluation independence is maintained, but the number of logical rows accessed increases
Solution Approach 1:
The patent performs preliminary grouping of predicates by their referenced column partitions before execution. This pre-processing step identifies opportunities to share column partition accesses across multiple predicates, allowing the system to reduce the total number of logical rows accessed while maintaining evaluation independence through structured grouping.
Data Source
AI summary
Techniques for ordering predicates in column partitioned databases for query optimization. Predicates on a single CP table within a query are organized to predicate-CP nodes with various sets of column partitions. The predicates within each predicate-CP node and the predicate-CP nodes as a whole are ordered in ascending order of cost which is determined by CPU/IO cost and predicate selectivity. The reorganized query is then executed.


