SYSTEM AND METHOD FOR QUERYING HYBRID MULTI DATA SOURCES
First Claim
1. A method of processing a data source query, the method comprising:
- receiving the data source query at a hybrid multi data source running on a computer server;
creating a list of data sources;
filtering the list of data sources based on data source hints included in the data source query;
filtering the list of data sources based on data source rules;
forming one or more query plans for processing the data source query, each query plan corresponding to a data source in the filtered list of data sources;
evaluating each of the query plans;
selecting a first query plan from the query plans based on results of the evaluating; and
performing the first query plan.
1 Assignment
0 Petitions
Accused Products
Abstract
A system and method of querying hybrid multi data sources includes receiving a query at a hybrid multi data source running on a computer server, creating a list of data sources, filtering the list of data sources based on data source hints included in the query, filtering the list of data sources based on data source rules, forming one or more query plans for processing the query, evaluating each of the query plans, selecting a first query plan from the query plans based on results of the evaluating, and performing the first query plan. Each query plan corresponds to a data source in the filtered list of data sources. In some examples, the first query plan has a lowest cost of each of the query plans. In some examples, the first query plan is based on probabilities associated with the cost of each of the query plans.
72 Citations
20 Claims
-
1. A method of processing a data source query, the method comprising:
-
receiving the data source query at a hybrid multi data source running on a computer server; creating a list of data sources; filtering the list of data sources based on data source hints included in the data source query; filtering the list of data sources based on data source rules; forming one or more query plans for processing the data source query, each query plan corresponding to a data source in the filtered list of data sources; evaluating each of the query plans; selecting a first query plan from the query plans based on results of the evaluating; and performing the first query plan. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14)
-
-
15. A hybrid multi data source hosted in an application server comprising:
-
a hint resolver; a rule evaluator coupled to the hint resolver; and a federated query engine coupled to the hint resolver and the rule evaluator; wherein; the hybrid multi data source is configured to; receive a query; and create a list of data sources coupled to the hybrid multi data source; the hint resolver is configured to; receive the list of data sources from the hybrid multi data source; and filter the list of data sources based on hints included in the query; the rule evaluator is configured to; receive the list of data sources from the hybrid multi data source or the hint resolver; receive the query from the hybrid multi data source; and filter the list of data sources based on data source rules; the federated query engine is configured to; receive the filtered list of data sources from the hint resolver or the rule evaluator; receive the query from the hybrid multi data source; form one or more query plans for processing the query, each query plan corresponding to a data source in the filtered list of data sources; evaluate each of the query plans to determine a respective estimated cost to perform each of the query plans; select a query plan from the query plans based on each respective estimated cost; and perform the selected query plan. - View Dependent Claims (16, 17)
-
-
18. A non-transitory machine-readable medium comprising a first plurality of machine-readable instructions which when executed by one or more processors associated with an application server are adapted to cause the one or more processors to perform a method comprising:
-
receiving a data query at a hybrid multi data source running on the application server; creating a list of data sources coupled to the hybrid multi data source; filtering the list of data sources based on source hints included in the data query; filtering the list of data sources based on source rules; forming one or more query plans for processing the data query, each query plan corresponding to a data source in the filtered list of data sources; evaluating each of the query plans to determine a respective estimated query complexity for each of the query plans; selecting a query plan from the query plans based on each respective estimated query complexity; and performing the selected query plan. - View Dependent Claims (19, 20)
-
Specification