SYSTEM AND COMPUTER PROGRAM PRODUCT FOR PERFORMING AN INEXACT QUERY TRANSFORMATION IN A HETEROGENEOUS ENVIRONMENT
First Claim
1. A processor-implemented system of performing an inexact query transformation in a heterogeneous environment including a plurality of heterogeneous datastores, the system comprising:
- a pushdown analysis module for selecting a query element from a query statement;
the pushdown analysis module for determining whether an inexact transformation improves a performance of the query statement;
in response to determining that the inexact transformation improves the performance of the query statement, the pushdown analysis module for selecting a plurality of candidate transformation rules applicable to the selected query element;
the pushdown analysis module for prioritizing the selected candidate transformation rules;
a transformation module for applying the candidate transformation rules to the selected query element to generate a transformed query element comprising a transformed remote query element;
if the transformed remote query element is not pushdownable to at least one heterogeneous datastore of the heterogeneous datastores, wherein the query element is pushdownable if the query element can be evaluated by the at least one heterogeneous datastore,the pushdown analysis module for determining whether additional inexact transformations are possible; and
if additional inexact transformations are possible, the transformation module for repeatedly applying additional candidate transformation rules to the selected query element to generate another transformed query element comprising a transformed remote query element and a transformed local query element and performing pushdown analysis on this transformed remote query element until the transformed remote query element determined to be pushdownable or until no additional inexact transformations are possible; and
if the transformed remote query element is pushdownable to at least one heterogeneous datastore of the heterogeneous datastores,the pushdown analysis module for adding the transformed remote query element to a transformed inexact query output;
a query optimizer for applying the transformed inexact query output to the heterogeneous datastore; and
a query execution plan for applying the transformed local query element to a query result returned from the heterogeneous datastore to provide a final query result
0 Assignments
0 Petitions
Accused Products
Abstract
An inexact query transformation system selects a query element from a query statement. If an inexact transformation improves the query performance, the system prioritizes the candidate transformation rules applicable to the selected query element. The system applies the candidate transformation rules to the selected query element to generate a transformed query element that includes a transformed remote query element. If the transformed remote query element is pushdownable, the system adds the transformed remote query element to a transformed inexact query output. Otherwise, the system applies additional candidate transformation rules to the selected query element to generate the transformed inexact query output. The system applies the transformed inexact query output to a heterogeneous datastore to provide an output query result.
-
Citations
8 Claims
-
1. A processor-implemented system of performing an inexact query transformation in a heterogeneous environment including a plurality of heterogeneous datastores, the system comprising:
-
a pushdown analysis module for selecting a query element from a query statement; the pushdown analysis module for determining whether an inexact transformation improves a performance of the query statement; in response to determining that the inexact transformation improves the performance of the query statement, the pushdown analysis module for selecting a plurality of candidate transformation rules applicable to the selected query element; the pushdown analysis module for prioritizing the selected candidate transformation rules; a transformation module for applying the candidate transformation rules to the selected query element to generate a transformed query element comprising a transformed remote query element; if the transformed remote query element is not pushdownable to at least one heterogeneous datastore of the heterogeneous datastores, wherein the query element is pushdownable if the query element can be evaluated by the at least one heterogeneous datastore, the pushdown analysis module for determining whether additional inexact transformations are possible; and if additional inexact transformations are possible, the transformation module for repeatedly applying additional candidate transformation rules to the selected query element to generate another transformed query element comprising a transformed remote query element and a transformed local query element and performing pushdown analysis on this transformed remote query element until the transformed remote query element determined to be pushdownable or until no additional inexact transformations are possible; and if the transformed remote query element is pushdownable to at least one heterogeneous datastore of the heterogeneous datastores, the pushdown analysis module for adding the transformed remote query element to a transformed inexact query output; a query optimizer for applying the transformed inexact query output to the heterogeneous datastore; and a query execution plan for applying the transformed local query element to a query result returned from the heterogeneous datastore to provide a final query result - View Dependent Claims (2, 3, 4)
-
-
5. A computer program product having program codes stored on a computer-usable medium for performing an inexact query transformation in a heterogeneous environment including a plurality of heterogeneous datastores, the method comprising:
-
a program code for selecting a query element from a query statement; a program code for determining whether an inexact transformation improves a performance of the query statement; a program code for selecting a plurality of candidate transformation rules applicable to the selected query element, in response to determining that the inexact transformation improves the performance of the query statement; a program code for prioritizing the selected candidate transformation rules; a program code for applying the candidate transformation rules to the selected query element to generate a transformed query element comprising a transformed remote query element; if the transformed remote query element is not pushdownable to at least one heterogeneous datastore of the heterogeneous datastores, wherein the query element is pushdownable if the query element can be evaluated by the at least one heterogeneous datastore, a program code for determining whether additional inexact transformations are possible; and a program code for if additional inexact transformations are possible, repeatedly applying additional candidate transformation rules to the selected query element to generate another transformed query element comprising a transformed remote query element and a transformed local query element and performing pushdown analysis on this transformed remote query element until the transformed remote query element determined to be pushdownable or until no additional inexact transformations are possible; and if the transformed remote query element is pushdownable to at least one heterogeneous datastore of the heterogeneous datastores, a program code for adding the transformed remote query element to a transformed inexact query output; a program code for applying the transformed inexact query output to the heterogeneous datastore; and a program code for applying the transformed local query element to a query result returned from the heterogeneous datastore to provide a final query result. - View Dependent Claims (6, 7, 8)
-
Specification