Relational query planning for non-relational data sources
First Claim
1. A system for generating a query plan for executing a query within a relational database system including at least one non-relational data source each associated with an interface, the system comprising a processor configured to:
- analyze expressions that each reference at least one non-relational data source within a query for the database system via each interface associated with the at least one non-relational data source referenced by that expression;
determine for each analyzed expression at least one entity capable of processing the analyzed expression for executing the query, wherein each entity includes one of the database system and the interface associated with the referenced non-relational data source;
provide at least one indicator for each of the analyzed expressions, wherein each indicator is associated with the non-relational data source referenced by that analyzed expression and indicates the entity determined to process the analyzed expression and a degree to which the entity processes the analyzed expression, wherein at least one analyzed expression includes at least two indicators associated with different non-relational data sources;
compare the indicators of each expression to reconcile the entities of those indicators for that expression based on the degree of processing to determine a resulting entity to process that expression and selectively adjust those indicators based on the reconciliation; and
generate the query plan for execution of the query, via the database system, based on the indicators for the expressions of the query, wherein generating the query plan includes;
identifying expressions of the query to be processed by the referenced non-relational data sources;
submitting a request including one or more of the identified expressions to corresponding ones of the associated interfaces, where the corresponding interfaces each produce a replay indicating the expressions within the request handled by that non-relational data source; and
adjusting the query plan by adding appropriate operators to the query plan based on the reply from each corresponding interface to compensate for the expressions within the query the non-relational data sources are unable to process.
2 Assignments
0 Petitions
Accused Products
Abstract
A query plan for executing a query within a relational database system including at least one non-relational data source is generated by analyzing expressions that reference a non-relational data source within a query for the database system via an interface for that non-relational data source, determining for each analyzed expression at least one of the database system and interface capable of processing that analyzed expression for executing the query, providing an indicator for each of the analyzed expressions that indicates at least one of the database system and interface determined to process that analyzed expression, and generating the query plan for execution of the query, via the database system, based on the indicators for the expressions of the query.
31 Citations
10 Claims
-
1. A system for generating a query plan for executing a query within a relational database system including at least one non-relational data source each associated with an interface, the system comprising a processor configured to:
-
analyze expressions that each reference at least one non-relational data source within a query for the database system via each interface associated with the at least one non-relational data source referenced by that expression; determine for each analyzed expression at least one entity capable of processing the analyzed expression for executing the query, wherein each entity includes one of the database system and the interface associated with the referenced non-relational data source; provide at least one indicator for each of the analyzed expressions, wherein each indicator is associated with the non-relational data source referenced by that analyzed expression and indicates the entity determined to process the analyzed expression and a degree to which the entity processes the analyzed expression, wherein at least one analyzed expression includes at least two indicators associated with different non-relational data sources; compare the indicators of each expression to reconcile the entities of those indicators for that expression based on the degree of processing to determine a resulting entity to process that expression and selectively adjust those indicators based on the reconciliation; and generate the query plan for execution of the query, via the database system, based on the indicators for the expressions of the query, wherein generating the query plan includes; identifying expressions of the query to be processed by the referenced non-relational data sources; submitting a request including one or more of the identified expressions to corresponding ones of the associated interfaces, where the corresponding interfaces each produce a replay indicating the expressions within the request handled by that non-relational data source; and adjusting the query plan by adding appropriate operators to the query plan based on the reply from each corresponding interface to compensate for the expressions within the query the non-relational data sources are unable to process. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A computer program product for generating a query plan for executing a query within a relational database system including at least one non-relational data source each associated with an interface, the computer program product comprising a non-transitory computer readable storage medium having computer readable program code embodied therewith, the computer readable program code configured to:
-
analyze expressions that each reference at least one non-relational data source within a query for the database system via each interface associated with the at least one non-relational data source referenced by that expression; determine for each analyzed expression at least one entity capable of processing the analyzed expression for executing the query, wherein each entity includes one of the database system and the interface associated with the referenced non-relational data source; provide at least one indicator for each of the analyzed expressions, wherein each indicator is associated with the non-relational data source referenced by that analyzed expression and indicates the entity determined to process the analyzed expression and a degree to which the entity processes the analyzed expression, wherein at least one analyzed expression includes at least two indicators associated with different non-relational data sources; compare the indicators of each expression to reconcile the entities of those indicators for that expression based on the degree of processing to determine a resulting entity to process that expression and selectively adjust those indicators based on the reconciliation; and generate the query plan for execution of the query, via the database system, based on the indicators for the expressions of the query, wherein generating the query plan includes; identifying expressions of the query to be processed by the referenced non-relational data sources; submitting a request including one or more of the identified expressions to corresponding ones of the associated interfaces, wherein the corresponding interfaces each produce a reply indicating the expression within the request handled by that non-relational data source; and adjusting the query plan by adding appropriate operators to the query plan based on the reply from each corresponding interface to compensate for the expressions within the query the non-relational data sources are unable to process. - View Dependent Claims (7, 8, 9, 10)
-
Specification