4 research outputs found
Optimising Sargable Conjunctive Predicate Queries in the Context of Big Data
With the continued increase in the volume of data, the volume dimension of big data has become a significant factor in estimating query time. When all other factors are held constant, query time increases as the volume of data increases and vice versa. To enhance query time, several techniques have come out of research efforts in this direction. One of such techniques is factorisation of query predicates. Factorisation has been used as a query optimization technique for the general class of predicates but has been found inapplicable to the subclass of sargable conjunctive equality predicates. Experiments performed exposed a peculiar nature of sargable conjunctive equality predicates based on which insight, the concatenated predicate model was formulated as capable of optimising sargable conjunctive equality predicates. Equations from research results were combined in a way that theorems describing the application and optimality of the concatenated predicate model were derived and proved
Optimizing Query Predicates with Disjunctions for Column Stores
Since its inception, database research has given limited attention to
optimizing predicates with disjunctions. What little past work there is has
focused on optimizations for traditional row-oriented databases. A key
difference in predicate evaluation for row stores and column stores is that
while row stores apply predicates to one record at a time, column stores apply
predicates to sets of records. Not only must the execution engine decide the
order in which to apply the predicates, but it must also decide how many times
each predicate should be applied and on which sets of records it should be
applied to. In our work, we tackle exactly this problem. We formulate, analyze,
and solve the predicate evaluation problem for column stores. Our results
include proofs about various properties of the problem, and in turn, these
properties have allowed us to derive the first polynomial-time (i.e., O(n log
n)) algorithm ShallowFish which evaluates predicates optimally for all
predicate expressions with a depth of 2 or less. We capture the exact property
which makes the problem more difficult for predicate expressions of depth 3 or
greater and propose an approximate algorithm DeepFish which outperforms
ShallowFish in these situations. Finally, we show that both ShallowFish and
DeepFish outperform the corresponding state of the art by two orders of
magnitude