Dynamically generating pre-aggregated datasets
First Claim
1. A computer-implemented method performed by one or more data processing apparatus, comprising:
- receiving one or more requests for a first type of performance measure;
identifying, based on the one or more requests and from a dataset, a proper subset of data used to determine a value for the first type of performance measure;
determining the value based on the proper subset of data;
determining a first latency specifying an amount of time that was required to determine the value using the dataset;
defining a pre-aggregated dataset that includes the proper subset of data from the dataset;
calculating a benefit score for the pre-aggregated dataset based on a difference between the first latency and a second latency specifying an amount of time required to respond to the request using the pre-aggregated dataset;
adjusting the benefit score as a rate of received queries for the first type of performance measure changes over time;
determining, at a given time, that the adjusted benefit score meets a threshold value; and
storing the pre-aggregated dataset in response to determining that the benefit score meets the threshold value.
2 Assignments
0 Petitions
Accused Products
Abstract
Methods, systems, and apparatus, including computer programs encoded on a computer storage medium, for dynamically generating and configuring pre-aggregated datasets optimized for responding to particular types of data requests made against a large sub-optimal multidimensional dataset are disclosed. A dynamic aggregator monitors the query types and response latencies associated with queries made against the large multidimensional dataset. The dynamic aggregator defines pre-aggregated datasets based on the types of queries received from users and calculates a respective benefit score for each pre-aggregated dataset. The benefit score of each pre-aggregated dataset can be based on the recorded latencies and query count for the pre-aggregated dataset. The dynamic aggregator can decide whether to generate and/or maintain particular pre-aggregated datasets based on the current values of the benefit scores associated with the particular pre-aggregated datasets.
-
Citations
20 Claims
-
1. A computer-implemented method performed by one or more data processing apparatus, comprising:
-
receiving one or more requests for a first type of performance measure; identifying, based on the one or more requests and from a dataset, a proper subset of data used to determine a value for the first type of performance measure; determining the value based on the proper subset of data; determining a first latency specifying an amount of time that was required to determine the value using the dataset; defining a pre-aggregated dataset that includes the proper subset of data from the dataset; calculating a benefit score for the pre-aggregated dataset based on a difference between the first latency and a second latency specifying an amount of time required to respond to the request using the pre-aggregated dataset; adjusting the benefit score as a rate of received queries for the first type of performance measure changes over time; determining, at a given time, that the adjusted benefit score meets a threshold value; and storing the pre-aggregated dataset in response to determining that the benefit score meets the threshold value. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A non-transitory computer readable medium storing instructions that cause one or more data processing apparatus to perform operations comprising:
-
receiving one or more requests for a first type of performance measure; identifying, based on the one or more requests and from a dataset, a proper subset of data used to determine a value for the first type of performance measure; determining the value based on the proper subset of data; determining a first latency specifying an amount of time that was required to determine the value using the dataset; defining a pre-aggregated dataset that includes the proper subset of data from the dataset; calculating a benefit score for the pre-aggregated dataset based on a difference between the first latency and a second latency specifying an amount of time required to respond to the request using the pre-aggregated dataset; adjusting the benefit score as a rate of received queries for the first type of performance measure changes over time; determining, at a given time, that the adjusted benefit score meets a threshold value; and storing the pre-aggregated dataset in response to determining that the benefit score meets the threshold value. - View Dependent Claims (9, 10, 11, 12, 13)
-
-
14. A system, comprising:
-
a data store storing a dataset associated with one or more types of performance measures; and one or more processors that interact with the data store and execute instructions that cause the one or more data processing apparatus to perform operations comprising; receiving one or more requests for a first type of performance measure; identifying, based on the one or more requests and from a dataset, a proper subset of data used to determine a value for the first type of performance measure; determining the value based on the proper subset of data; determining a first latency specifying an amount of time that was required to determine the value using the dataset; defining a pre-aggregated dataset that includes the proper subset of data from the dataset; calculating a benefit score for the pre-aggregated dataset based on a difference between the first latency and a second latency specifying an amount of time required to respond to the request using the pre-aggregated dataset; adjusting the benefit score as a rate of received queries for the first type of performance measure changes over time; determining, at a given time, that the adjusted benefit score meets a threshold value; and storing the pre-aggregated dataset in response to determining that the benefit score meets the threshold value. - View Dependent Claims (15, 16, 17, 18, 19, 20)
-
Specification