Systems and methods for providing data sets using a store of albegraic relations
First Claim
1. A computer system implemented method of providing a requested data set, the computer system comprising at least one processor, memory, and a data store, the method comprising:
- receiving a first plurality of query language statements that request a first plurality of data sets, wherein at least some of the data sets from the first plurality of data sets are stored in the data store and wherein the first plurality of query language statements specify at least one explicit data set;
associating a data set identifier with each of the explicit data sets specified in the first plurality of query language statements;
composing a first plurality of algebraic relations between data sets based on the first plurality of query language statements, 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;
storing the first plurality of algebraic relations in a relation store in the memory;
receiving a subsequent query language statement requesting the requested data set, wherein the requested data set is different than each of the data sets in the first plurality of data sets;
using at least some of the first plurality of algebraic relations from the relation store to compose a plurality of collections of algebraic relations defining a result equal to the requested data set;
applying optimization criteria to select one of the collections of algebraic relations, wherein the optimization criteria is based, at least in part, on a cost for retrieving data sets from the data store required to calculate each of the collections of algebraic relations;
calculating the requested data set using the selected collection of algebraic relations; and
providing the requested data set based, at least in part, on the first plurality of algebraic relations composed from the first plurality of query language statements.
2 Assignments
0 Petitions
Accused Products
Abstract
Systems and methods for storing and accessing data. A query language statement may request a data set from the system. Data sets may be composed from the query language statement and other algebraic relations from prior query language statements may be provided in a relation store. The store of algebraic relations may be accumulated over time. The composed algebraic relations and stored algebraic relations may be used to provide the requested data set. Alternative collections of algebraic relations may be generated and evaluated to determine an optimized collection of algebraic relations to use in providing the 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.
63 Citations
18 Claims
-
1. A computer system implemented method of providing a requested data set, the computer system comprising at least one processor, memory, and a data store, the method comprising:
-
receiving a first plurality of query language statements that request a first plurality of data sets, wherein at least some of the data sets from the first plurality of data sets are stored in the data store and wherein the first plurality of query language statements specify at least one explicit data set; associating a data set identifier with each of the explicit data sets specified in the first plurality of query language statements; composing a first plurality of algebraic relations between data sets based on the first plurality of query language statements, 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; storing the first plurality of algebraic relations in a relation store in the memory; receiving a subsequent query language statement requesting the requested data set, wherein the requested data set is different than each of the data sets in the first plurality of data sets; using at least some of the first plurality of algebraic relations from the relation store to compose a plurality of collections of algebraic relations defining a result equal to the requested data set; applying optimization criteria to select one of the collections of algebraic relations, wherein the optimization criteria is based, at least in part, on a cost for retrieving data sets from the data store required to calculate each of the collections of algebraic relations; calculating the requested data set using the selected collection of algebraic relations; and providing the requested data set based, at least in part, on the first plurality of algebraic relations composed from the first plurality of query language statements. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18)
-
Specification