Database designer
AssigneeVertica Systems, Inc.
InventorsMingsheng Hong, Priya Arun, Chang-Jian Sun, Shilpa Lawande
Life of this patent
Estimating the term…
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.
Claims67
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.
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.
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.
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.
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.
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.
Dependencies are inferred from the claim text.