Systems and methods for data storage and retrieval using algebraic relations composed from query language statements
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 and a data set information store; and
(c) computer program instructions stored in the memory and configured to be executed by the processor to provide a requested data set, including;
(i) instructions for receiving a first query language statement referencing a plurality of data sets;
(ii) instructions for storing information in the data set information store regarding the data sets referenced in the first query language statement, including temporal information regarding the data sets referenced in the first query language statement;
(iii) instructions for composing a first plurality of algebraic relations referencing the data sets specified in the first query language statement, wherein each of the algebraic relations in the first plurality of algebraic relations comprises a respective first expression including a symbolic representation of at least a first respective data set, a respective second expression including a symbolic representation of at least a second respective data set, and a relational operator symbolically defining a mathematical relationship between the respective first expression and the respective second expression;
(iv) instructions for storing the first plurality of algebraic relations in the relation store;
(v) instructions for receiving a second query language statement referencing a second plurality of data sets;
(vi) instructions for composing a second plurality of algebraic relations referencing the data sets specified in the second query language statement;
(vii) instructions for storing the second plurality of algebraic relations in the relation store;
(viii) instructions for providing the requested data set in response to the second query language statement using at least one algebraic relation from the first plurality of algebraic relations and at least one algebraic relation from the second plurality of algebraic relations; and
(ix) instructions for removing at least some of the first plurality of algebraic relations from the relation store based, at least in part, on the temporal information regarding the data sets referenced in the first query language statement.
4 Assignments
0 Petitions
Accused Products
Abstract
Systems and methods for storing and accessing data. A query language statement may reference a plurality of data sets and a plurality of algebraic relations between the data sets may be composed from the query language statement. The algebraic relations may be used to define new data sets and to optimize access to data sets. A store of algebraic relations may be accumulated over time. Alternative collections of algebraic relations may be generated and evaluated to determine an optimized collection of algebraic relations to use in calculating and providing a requested data set. The optimization may be performed using the algebraic relations rather than retrieving underlying data sets from storage. As a result, optimization may be performed at processor speeds to minimize the amount of time required for data to be retrieved from slower storage.
-
Citations
19 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 and a data set information store; and (c) computer program instructions stored in the memory and configured to be executed by the processor to provide a requested data set, including; (i) instructions for receiving a first query language statement referencing a plurality of data sets; (ii) instructions for storing information in the data set information store regarding the data sets referenced in the first query language statement, including temporal information regarding the data sets referenced in the first query language statement; (iii) instructions for composing a first plurality of algebraic relations referencing the data sets specified in the first query language statement, wherein each of the algebraic relations in the first plurality of algebraic relations comprises a respective first expression including a symbolic representation of at least a first respective data set, a respective second expression including a symbolic representation of at least a second respective data set, and a relational operator symbolically defining a mathematical relationship between the respective first expression and the respective second expression; (iv) instructions for storing the first plurality of algebraic relations in the relation store; (v) instructions for receiving a second query language statement referencing a second plurality of data sets; (vi) instructions for composing a second plurality of algebraic relations referencing the data sets specified in the second query language statement; (vii) instructions for storing the second plurality of algebraic relations in the relation store; (viii) instructions for providing the requested data set in response to the second query language statement using at least one algebraic relation from the first plurality of algebraic relations and at least one algebraic relation from the second plurality of algebraic relations; and (ix) instructions for removing at least some of the first plurality of algebraic relations from the relation store based, at least in part, on the temporal information regarding the data sets referenced in the first query language statement. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19)
-
Specification