Dynamic and selective data source binding through a metawrapper
First Claim
1. A computer-implemented method for integrating data in a database management system, said method comprising:
- grouping, by a computing device, data sources and replicas of said data sources that provide analogous data into a common logical domain;
writing, by said computing device, application queries against said common logical domain;
selecting, by said computing device, a correct set of replicas of said data sources and a query-execution strategy for combining a content of said correct set of replicas of said data sources in order to answer said application queries according to query-cost-based optimization;
selecting, by said computing device, a correct set of data sources according to run-time constraints, where said query-execution strategy comprise reply plans for executing said query and data regarding all alternative non-optimum query execution strategies and sets of replicas of data sources that may become optimal query execution strategies and sets of replicas of data sources after compile time is completed, where said non-optimum query execution strategies are generated based on data sources other than said correct sets of data sources, and where a non-optimum query execution strategy comprises a reply plan that is at least as selective as a reply plan contained in said query execution strategy;
shielding, by said computing device, said application queries from changes to said data sources by dynamically binding said application queries against the correct sets of data sources and replicas of said data sources; and
processing, by said computing device, said application queries by generating an optimum query result based on said grouping and said shielding.
0 Assignments
0 Petitions
Accused Products
Abstract
A system, method, and program storage device implementing the method, for integrating data in a database management system, wherein the method comprises grouping data sources and replicas of the data sources that provide analogous data into a common logical domain; writing application queries against the common logical domain; selecting a correct set of replicas of the data sources and a query-execution strategy for combining a content of the correct set of replicas of the data sources in order to answer the application queries according to query-cost-based optimization; selecting a correct set of data sources according to run-time constraints; shielding the application queries from changes to the data sources by dynamically binding the application queries against the correct sets of data sources and replicas of the data sources; and processing the application queries by generating an optimum query result based on the steps of grouping and shielding.
-
Citations
28 Claims
-
1. A computer-implemented method for integrating data in a database management system, said method comprising:
-
grouping, by a computing device, data sources and replicas of said data sources that provide analogous data into a common logical domain; writing, by said computing device, application queries against said common logical domain; selecting, by said computing device, a correct set of replicas of said data sources and a query-execution strategy for combining a content of said correct set of replicas of said data sources in order to answer said application queries according to query-cost-based optimization; selecting, by said computing device, a correct set of data sources according to run-time constraints, where said query-execution strategy comprise reply plans for executing said query and data regarding all alternative non-optimum query execution strategies and sets of replicas of data sources that may become optimal query execution strategies and sets of replicas of data sources after compile time is completed, where said non-optimum query execution strategies are generated based on data sources other than said correct sets of data sources, and where a non-optimum query execution strategy comprises a reply plan that is at least as selective as a reply plan contained in said query execution strategy; shielding, by said computing device, said application queries from changes to said data sources by dynamically binding said application queries against the correct sets of data sources and replicas of said data sources; and processing, by said computing device, said application queries by generating an optimum query result based on said grouping and said shielding. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13)
-
-
14. A computer-implemented method for processing a database query, said method comprising:
-
initiating, by a computing device, a query in a database management system; accessing, by said computing device, data in said database management system, wherein said data is stored in data sources and data source replicas in said database management system; arranging, by said computing device, said data sources and said data source replicas into groups of common data sources and data source replicas; selecting, by said computing device, a correct set of data sources replicas and a query-execution strategy for combining a content of said correct set of data source replicas in order to answer said query according to query-cost-based optimization; selecting, by said computing device, a correct set of data sources according to run-time constraints, where said query-execution strategy comprise reply plans for executing said query and data regarding all alternative non-optimum query execution strategies and sets of replicas of data sources that may become optimal query execution strategies and sets of replicas of data sources after compile time is completed, where said non-optimum query execution strategies are generated based on data sources other than said correct sets of data sources, and where a non-optimum query execution strategy comprises a reply plan that is at least as selective as a reply plan contained in said query execution strategy; dynamically binding, by said computing device, said query against the correct sets of data sources and data source replicas; and generating, by said computing device, an optimum query result based on said arranging and said binding.
-
-
15. A computer storage device medium readable by a computer tangibly embodying a program of instructions executable by said computer to perform a method for integrating data in a database management system, said method comprising:
-
grouping data sources and replicas of said data sources that provide analogous data into a common logical domain; writing application queries against said common logical domain; selecting a correct set of replicas of said data sources and a query-execution strategy for combining a content of said correct set of replicas of said data sources in order to answer said application queries according to query-cost-based optimization; selecting a correct set of data sources according to run-time constraints, where said query-execution strategy comprise reply plans for executing said query and data regarding all alternative non-optimum query execution strategies and sets of replicas of data sources that may become optimal query execution strategies and sets of replicas of data sources after compile time is completed, where said non-optimum query execution strategies are generated based on data sources other than said correct sets of data sources, and where a non-optimum query execution strategy comprises a reply plan that is at least as selective as a reply plan contained in said query execution strategy; shielding said application queries from changes to said data sources by dynamically binding said application queries against the correct sets of data sources and replicas of said data sources; and processing said application queries by generating an optimum query result based on said grouping and said shielding. - View Dependent Claims (16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27)
-
-
28. A system of integrating data, said system comprising:
-
a database management system adapted to process a query and generate an optimum query result; a wrapper module adapted to receive said query and to send a request for data stored in data sources and data source replicas; and a metadata repository adapted to arrange said data sources and said data source replicas into a list of common data sources and data source replicas, wherein said wrapper module is configured for receiving said list from said metadata repository, wherein said wrapper module is configured for dynamically binding said query against a correct set of data sources and data source replicas, wherein said correct set of data sources are selected according to run-time constraints, where said query-execution strategy comprise reply plans for executing said query and data regarding all alternative non-optimum query execution strategies and sets of replicas of data sources that may become optimal query execution strategies and sets of replicas of data sources after compile time is completed, where said non-optimum query execution strategies are generated based on data sources other than said correct sets of data sources, and where a non-optimum query execution strategy comprises a reply plan that is at least as selective as a reply plan contained in said query execution strategy, and wherein said correct set of data source replicas and a query-execution strategy for combining a content of said correct set of replicas of said data sources in order to answer said application queries are selected according to query-cost-based optimization, and wherein said list and said binding generate said optimum query result.
-
Specification