DATABASE DESIGNER
First Claim
Patent Images
1. A method performed by data processing apparatus, the method comprising:
- creating a set of candidate projections each being based on a column sort order in a set of column sort orders and being associated with properties of one or more tables in a set of tables to which the column sort order applies, wherein a column sort order is a sequence of one or more columns, each column'"'"'s data being stored in an order; and
until a stopping condition is reached, progressively narrowing the set of candidate projections and a set of queries by eliminating candidate projections that do not satisfy a performance improvement criterion for remaining queries based on the properties associated with the candidate projections.
9 Assignments
0 Petitions
Accused Products
Abstract
Methods, systems, and apparatus, including computer programs encoded on a computer storage medium, for a database designer and a database storage designer. In one aspect, a method includes creating a set of candidate projections and progressively narrowing the set of candidate projections and a set of queries by eliminating candidate projections that do not satisfy a performance improvement criterion for remaining queries based on the properties associated with the candidate projections.
88 Citations
67 Claims
-
1. A method performed by data processing apparatus, the method comprising:
-
creating a set of candidate projections each being based on a column sort order in a set of column sort orders and being associated with properties of one or more tables in a set of tables to which the column sort order applies, wherein a column sort order is a sequence of one or more columns, each column'"'"'s data being stored in an order; and until a stopping condition is reached, progressively narrowing the set of candidate projections and a set of queries by eliminating candidate projections that do not satisfy a performance improvement criterion for remaining queries based on the properties associated with the candidate projections. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36)
-
-
37. A computer program product, encoded on a computer-readable storage device, operable to cause data processing apparatus to perform operations comprising:
-
creating a set of candidate projections each being based on a column sort order in a set of column sort orders and being associated with properties of one or more tables in a set of tables to which the column sort order applies, wherein a column sort order is a sequence of one or more columns, each column'"'"'s data being stored in an order; and until a stopping condition is reached, progressively narrowing the set of candidate projections and a set of queries by eliminating candidate projections that do not satisfy a performance improvement criterion for remaining queries based on the properties associated with the candidate projections.
-
-
38. A system comprising:
-
a sort order generator configured to create a set of column sort orders derived from a set of queries, wherein a column sort order is a sequence of one or more columns, each column'"'"'s data being stored in an order; a projection generator configured create a set of candidate projections, each being based on a column sort order in the set of column sort orders and being associated with properties of one or more tables in a set of tables to which the column sort order applies; and a candidate projection filter configured to filter one or more candidate projections from the set of candidate projections that do not satisfy a performance improvement criterion for the set of queries. - View Dependent Claims (39, 40)
-
-
41. A computer-implemented method comprising:
-
segmenting a projection that includes a subset of a table'"'"'s columns in a sort order; adding to the sort order, one or more first columns of the table that are functionally depended on by one or more of the projection'"'"'s columns; appending to the sort order, one or more second columns of the table that functionally depend on one or more of the column'"'"'s projections; and determining encoding schemes that improve storage compression for one or more columns of the projection. - View Dependent Claims (42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55)
-
-
56. A computer program product, encoded on a computer-readable storage device, operable to cause data processing apparatus to perform operations comprising:
-
segmenting a projection that includes a subset of a table'"'"'s columns in a sort order; adding to the sort order, one or more first columns of the table that are functionally depended on by one or more of the projection'"'"'s columns; appending to the sort order, one or more second columns of the table that functionally depend on one or more of the column'"'"'s projections; and determining encoding schemes that improve storage compression for one or more columns of the projection.
-
-
57. A system comprising:
-
a segmentor configured to segment a projection that includes a subset of a table'"'"'s columns in a sort order; a first functional dependency modifier configured to add to the sort order, one or more first columns of the table that are functionally depended on by one or more of the projection'"'"'s columns; a second functional dependency modifier configured to append to the sort order, one or more second columns of the table that functionally depend on one or more of the column'"'"'s projections; and an encoding experimentation component configured to determine encoding schemes that improve storage compression for one or more columns of the projection. - View Dependent Claims (58, 59, 60, 61, 62, 63, 64, 65, 66, 67)
-
Specification