Defining and characterizing an analysis space for precomputed views
First Claim
1. A method of managing precomputed views for answering queries on a database, comprising:
- defining an analysis space that includes any combination of existing and potential precomputed views for the database;
keeping a history of queries on the database;
performing a cost-benefit analysis of the existing and potential precomputed views in the analysis space, the analysis being based at least in part on the history of queries on the database; and
presenting a result of the cost-benefit analysis to determine a set of existing precomputed views to retain and a set of potential precomputed views to create for use in responding to future queries.
3 Assignments
0 Petitions
Accused Products
Abstract
Methods and apparatus for processing precomputed views for answering user queries on a database are described. In accordance with one aspect, a user database query on precomputation strategy effectiveness is responded to by defining, based upon user database query history, an analysis space consisting of a subset of all possible views for the database, and by characterizing the views in the analysis space. In accordance with a second aspect, a structure is imposed on an analysis space consisting of a subset of all possible views for the database based upon the capabilities of a query rewriting facility, and the views in the analysis space are characterized. In accordance with a third aspect, an analysis space consisting of a subset of all possible views for the database is defined, and a cost formula is applied to the analysis space based upon a user-defined subset of the data contained in the database. In accordance with a fourth aspect, an analysis space that includes a candidate view composed of a combination of two or more constituent views is defined, and the views in the analysis space are characterized.
87 Citations
86 Claims
-
1. A method of managing precomputed views for answering queries on a database, comprising:
-
defining an analysis space that includes any combination of existing and potential precomputed views for the database;
keeping a history of queries on the database;
performing a cost-benefit analysis of the existing and potential precomputed views in the analysis space, the analysis being based at least in part on the history of queries on the database; and
presenting a result of the cost-benefit analysis to determine a set of existing precomputed views to retain and a set of potential precomputed views to create for use in responding to future queries. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21)
when a query was rewritten to include a precomputed view, keeping information about the precomputed view included in the rewritten query.
-
-
6. The method of claim 1, wherein keeping a history of queries on the database includes determining whether rewritten queries include aggregation.
-
7. The method of claim 1, wherein keeping a history of queries on the database includes identifying a potential precomputed view which could have been used to rewrite a query on the database.
-
8. The method of claim 7, further comprising:
keeping information about the potential precomputed view.
-
9. The method of claim 1, wherein the analysis space is defined based upon capabilities of a query rewriting facility.
-
10. The method of claim 9, wherein the definition of the analysis space reflects whether or not queries have been rewritten.
-
11. The method of claim 9, wherein the definition of the analysis space reflects whether or not rewritten queries include aggregation.
-
12. The method of claim 1, wherein the defined analysis space includes potential and existing precomputed views.
-
13. The method of claim 1, wherein the defined analysis space includes potential precomputed views generated based upon user query history.
-
14. The method of claim 1, wherein performing a cost-benefit analysis of the precomputed views in the analysis space comprises generating a measure of precomputed view utilization.
-
15. The method of claim 1, wherein performing a cost-benefit analysis of the views in the analysis space includes generating a measure of benefit of a precomputed view relative to other precomputed views in the analysis space.
-
16. The method of claim 15, wherein performing a cost-benefit analysis of the precomputed views in the analysis space includes generating a measure of benefit of one that is a potential precomputed view.
-
17. The method of claim 1, wherein performing a cost-benefit analysis of the precomputed views in the analysis space comprises generating a report that reflects current precomputation strategy effectiveness.
-
18. The method of claim 1, wherein performing a cost-benefit analysis of the precomputed views in the analysis space comprises generating a report that includes information about potential precomputed views that could be created.
-
19. The method of claim 1, wherein performing a cost-benefit analysis of the precomputed views in the analysis space comprises applying a cost formula to the analysis space.
-
20. The method of claim 1, further comprising:
-
determining hierarchical relationships between possible views in the analysis space; and
performing the cost-benefit analysis based on the hierarchical relationships.
-
-
21. The method of claim 1, wherein defining is based upon user database query history.
-
22. A method of managing precomputed views for answering queries on a database, comprising:
-
defining an analysis space that includes one or more precomputed views for the database, the one or more precomputed views including a potential precomputed view;
determining hierarchical relationships of the one or more precomputed views in the analysis space;
performing a cost-benefit analysis of the views in the analysis space based on the hierarchical relationships; and
presenting a result of the cost-benefit analysis to determine a set of existing precomputed views to retain and a set of potential precomputed views to create for use in responding to future queries. - View Dependent Claims (23, 24)
-
-
25. A method of managing precomputed views for answering queries on a database, comprising:
-
defining an analysis space that includes a potential precomputed view composed of a combination of two or more constituent views;
performing a cost-benefit analysis of the potential precomputed view in the analysis space; and
presenting a result of the cost-benefit analysis to determine a set of existing precomputed views to retain and a set of potential precomputed views to create for use in responding to future queries. - View Dependent Claims (26, 27, 28, 29)
-
-
30. An apparatus for processing precomputed views for answering user queries on a database, comprising:
-
a query processor; and
an advisor configured to describe precomputation strategy effectiveness by defining an analysis space that includes any combination of existing and potential precomputed views for the database, keeping a history of queries processed by the query processor, and performing a cost-benefit analysis of the views in the analysis space, the analysis based at least in part on the history of queries, and presenting a result of the cost- benefit analysis to determine a set of existing precomputed views to retain and a set of potential precomputed views to create for use in responding to future queries. - View Dependent Claims (31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48)
determining hierarchical relationships of the one or more precomputed views in the analysis space; and
performing the cost-benefit analysis based at least in part on the hierarchical relationships.
-
-
49. An apparatus for processing precomputed views for answering user queries on a database, comprising:
-
a query processor; and
an advisor configured to define an analysis space that includes one or more precomputed views for the database, the one or more precomputed views including a potential precomputed view, determine hierarchical relationships of the precomputed views in an analysis space, and perform a cost-benefit analysis of the precomputed views in the analysis space based at least in part on the hierarchical relationships, and present a result of the cost-benefit analysis to determine a set of existing precomputed views to retain and a set of potential precomputed views to create for use in responding to future queries. - View Dependent Claims (50, 51)
-
-
52. An apparatus for processing precomputed views for answering user queries on a database, comprising:
-
a query processor; and
an advisor configured to define an analysis space that includes a potential precomputed view composed of a combination of two or more constituent views, perform a cost-benefit analysis of the views in the analysis space, and present a result of the cost-benefit analysis to determine a set of existing precomputed views to retain and a set of potential precomputed views to create for use in responding to future queries. - View Dependent Claims (53, 54, 55, 56)
-
-
57. A computer program product, tangibly stored on a computer-readable medium, for processing precomputed views for answering queries on a database, comprising instructions operable to cause a programmable processor to:
-
define an analysis space that includes any combination of possible views for the database, perform a cost-benefit analysis of the views in the analysis space; and
present a result of the cost-benefit analysis to determine a set of existing precomputed views to retain and a set of potential precomputed views to create for use in responding to future queries. - View Dependent Claims (58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78)
determine hierarchical relationships between the possible views in the analysis space; and
perform the cost-benefit analysis based on the hierarchical relationships.
-
-
71. The computer program product of claim 57, wherein the analysis space is defined based upon database query history.
-
72. The computer program product of claim 70, wherein the instructions to define an analysis space comprise instructions operable to cause a programmable processor to generate a log record for received queries.
-
73. The computer program product of claim 72, wherein the instructions to generate a log record comprise instructions operable to cause a programmable processor to parse query blocks from queries.
-
74. The computer program product of claim 72, wherein instructions to generate a log record for a user query comprises instructions operable to cause a programmable processor to determine whether the query was rewritten to include a precomputed view.
-
75. The computer program product of claim 72, wherein instructions to generate a log record comprises instructions operable to cause a programmable processor to determine whether rewritten user queries include aggregation.
-
76. The computer program product of claim 72, wherein instructions to generate a log record comprises instructions operable to cause a programmable processor to identify a potential precomputed view which could have been used to rewrite the received queries.
-
77. The computer program product of claim 72, wherein the log record generated for a query comprises information about a precomputed view used to rewrite the query.
-
78. The computer program product of claim 72, wherein the log record generated for a user query comprises information about a potential precomputed view which could have been used to rewrite the received query.
-
79. A computer program product, tangibly stored on a computer-readable medium, for processing precomputed views for answering queries on a database, comprising instructions operable to cause a programmable processor to:
-
determine hierarchical relationships between or among views in an analysis space that includes any combination of potential precomputed of potential precomputed views for the database;
perform a cost-benefit analysis of the views in the analysis space based on the hierarchiacal relationships; and
present a result of the cost-benefit analysis to determine a set of existing precomputed views to retain and to create a set of potential precomputed views for use in responding to future queries. - View Dependent Claims (80, 81)
-
-
82. A computer program product, tangibly stored on a computer-readable medium, for processing precomputed views for answering queries on a database, comprising instructions operable to cause a programmable processor to:
-
define an analysis space that includes a potential precomputed view composed of a combination of two or more constituent views; and
perform a cost-benefit analysis of the views in the analysis space; and
present a result of the cost-benefit analysis to determine a set of existing precomputed views to retain and a set of potential precomputed views to create for use in responding to future queries. - View Dependent Claims (83, 84, 85, 86)
-
Specification