Systems and methods for indirect algebraic partitioning
First Claim
1. A computer system comprising:
- (a) at least one processor;
(b) at least one memory, wherein the at least one memory includes a relation store for storing a plurality of algebraic relations;
(c) a storage system, including a data store for storing a plurality of data sets; and
(d) at least one program module, the program module stored in the memory and configured to be executed by the processor, including;
instructions for composing a plurality of algebraic relations between data sets;
instructions for storing the plurality of algebraic relations in the relation store;
instructions for receiving a first statement referencing a first data set and a second data set;
instructions for determining whether the first statement specifies at least one constituent of the first data set for restricting the second data set, wherein the constituent is not included in the second data set;
instructions for determining whether a condition for indirect partitioning of the second data set based on the constituent of the first data set is satisfied;
instructions for automatically defining component data sets if the condition for indirect partitioning is satisfied, wherein each component data set includes a distinct component of the second data set defined, at least in part, by a selection criteria based on the constituent of the first data set;
instructions for storing in the relation store, for each component data set, at least one algebraic relation referencing the respective component data set;
instructions for receiving a second statement that requests a requested data set; and
instructions for providing the requested data set, including;
instructions for composing a collection of algebraic relations defining a result equal to the requested data set, including at least one algebraic relation from the relation store that references at least one of the component data sets; and
instructions for calculating the requested data set using the collection of algebraic relations.
3 Assignments
0 Petitions
Accused Products
Abstract
Systems and methods for storing and accessing data. Example embodiments may perform optimization based on patterns of requests received by the system and relations between data sets identified by the system. Example embodiments may identify restrictions on a data set based on a different data set. Conditions for automatically algebraically partitioning the data set based on a constituent of a different data set may be evaluated, including evaluation of the relationship between the data sets and identification of a pattern of statements restricting the data set using the same logical structure. If the conditions are met, component data sets and a partition data set may be algebraically defined based on ranges applied to constituent(s) of the other data set. The component data sets may also be realized in storage to physically partition the data set.
-
Citations
32 Claims
-
1. A computer system comprising:
-
(a) at least one processor; (b) at least one memory, wherein the at least one memory includes a relation store for storing a plurality of algebraic relations; (c) a storage system, including a data store for storing a plurality of data sets; and (d) at least one program module, the program module stored in the memory and configured to be executed by the processor, including; instructions for composing a plurality of algebraic relations between data sets; instructions for storing the plurality of algebraic relations in the relation store; instructions for receiving a first statement referencing a first data set and a second data set; instructions for determining whether the first statement specifies at least one constituent of the first data set for restricting the second data set, wherein the constituent is not included in the second data set; instructions for determining whether a condition for indirect partitioning of the second data set based on the constituent of the first data set is satisfied; instructions for automatically defining component data sets if the condition for indirect partitioning is satisfied, wherein each component data set includes a distinct component of the second data set defined, at least in part, by a selection criteria based on the constituent of the first data set; instructions for storing in the relation store, for each component data set, at least one algebraic relation referencing the respective component data set; instructions for receiving a second statement that requests a requested data set; and instructions for providing the requested data set, including; instructions for composing a collection of algebraic relations defining a result equal to the requested data set, including at least one algebraic relation from the relation store that references at least one of the component data sets; and instructions for calculating the requested data set using the collection of algebraic relations. - 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. A computer-program product for use in conjunction with a computer system, the computer-program product comprising a non-transitory computer-readable storage medium and a computer-program mechanism embedded therein, including:
-
instructions for composing a plurality of algebraic relations between data sets; instructions for storing the plurality of algebraic relations in a relation store; instructions for receiving a first statement referencing a first data set and a second data set; instructions for determining whether the first statement specifies at least one constituent of the first data set for restricting the second data set, wherein the constituent is not included in the second data set; instructions for determining whether a condition for indirect partitioning of the second data set based on the constituent of the first data set is satisfied; instructions for automatically defining component data sets if the condition for indirect partitioning is satisfied, wherein each component data set includes a distinct component of the second data set defined, at least in part, by a selection criteria based on the constituent of the first data set; instructions for storing in the relation store, for each component data set, at least one algebraic relation referencing the respective component data set; instructions for receiving a second statement that requests a requested data set; and instructions for providing the requested data set, including; instructions for composing a collection of algebraic relations defining a result equal to the requested data set, including at least one algebraic relation from the relation store that references at least one of the component data sets; and instructions for calculating the requested data set using the collection of algebraic relations.
-
-
32. A computer implemented method for partitioning a data set comprising:
-
composing a plurality of algebraic relations between data sets; storing the plurality of algebraic relations in a relation store; receiving a first statement referencing a first data set and a second data set; determining, by a computer, whether the first statement specifies at least one constituent of the first data set for restricting the second data set, wherein the constituent is not included in the second data set; determining, by the computer, whether a condition for indirect partitioning of the second data set based on the constituent of the first data set is satisfied; automatically defining, by the computer, component data sets if the condition for indirect partitioning is satisfied, wherein each component data set includes a distinct component of the second data set defined, at least in part, by a selection criteria based on the constituent of the first data set; storing in the relation store, for each component data set, at least one algebraic relation referencing the respective component data set; receiving a second statement that requests a requested data set; and providing the requested data set, including; composing, by the computer, a collection of algebraic relations defining a result equal to the requested data set, including at least one algebraic relation from the relation store that references at least one of the component data sets; and calculating, by the computer, the requested data set using the collection of algebraic relations.
-
Specification