Method for performing an inexact query transformation in a heterogeneous environment
First Claim
1. A processor-implemented method of performing an inexact query transformation in a heterogeneous environment including a plurality of heterogeneous datastores, the method comprising:
- selecting a query element from a query statement;
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, selecting a plurality of candidate transformation rules applicable to the selected query element;
prioritizing the selected candidate transformation rules;
applying the prioritized candidate transformation rules to the selected query element to generate a transformed query element comprising a transformed remote query element and a transformed local 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,determining whether additional inexact transformations are possible; and
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;
if the transformed remote query element is pushdownable to at least one heterogeneous datastore of the heterogeneous datastores,adding the transformed remote query element to a transformed inexact query output;
applying the transformed inexact query output to the heterogeneous datastore; and
applying the transformed local query element to a query result returned from the heterogeneous datastore to provide a final query result.
1 Assignment
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
4 Claims
-
1. A processor-implemented method of performing an inexact query transformation in a heterogeneous environment including a plurality of heterogeneous datastores, the method comprising:
-
selecting a query element from a query statement; 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, selecting a plurality of candidate transformation rules applicable to the selected query element; prioritizing the selected candidate transformation rules; applying the prioritized candidate transformation rules to the selected query element to generate a transformed query element comprising a transformed remote query element and a transformed local 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, determining whether additional inexact transformations are possible; and 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; if the transformed remote query element is pushdownable to at least one heterogeneous datastore of the heterogeneous datastores, adding the transformed remote query element to a transformed inexact query output; applying the transformed inexact query output to the heterogeneous datastore; and 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)
-
Specification