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 that is calculated based on a proper subset of data in a data set;
creating a pre-aggregated data set that includes the proper subset of data from the data set based on a first amount of time required to determine the first type of performance measure using the pre-aggregated data set being less than a second amount of time required to determine the first type of performance measure using the data set;
storing, over a period of time, more data in the pre-aggregated data set;
monitoring, over the period of time, a change in the first amount of time required to determine the first type of performance measure using the pre-aggregated data set;
splitting, into two or more subsets, the pre-aggregated data set when the change in the first amount of time meets a specified level, wherein each of the two or more subsets of the pre-aggregate data set includes less data than the pre-aggregated data set, and wherein the combination of the two or more subsets of the pre-aggregated data set includes the entirety of the proper subset of data from the data set;
determining the first type of performance measure using at least one of the two or more subsets of the pre-aggregated data set;
generating, by a graphical user interface generator, presentation data that represents a value of the first type of performance measure calculated using at least one of the two or more subsets of the pre-aggregated data set; and
providing, to a user device for display on a graphical user interface, the generated presentation data.
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 that is calculated based on a proper subset of data in a data set; creating a pre-aggregated data set that includes the proper subset of data from the data set based on a first amount of time required to determine the first type of performance measure using the pre-aggregated data set being less than a second amount of time required to determine the first type of performance measure using the data set; storing, over a period of time, more data in the pre-aggregated data set; monitoring, over the period of time, a change in the first amount of time required to determine the first type of performance measure using the pre-aggregated data set; splitting, into two or more subsets, the pre-aggregated data set when the change in the first amount of time meets a specified level, wherein each of the two or more subsets of the pre-aggregate data set includes less data than the pre-aggregated data set, and wherein the combination of the two or more subsets of the pre-aggregated data set includes the entirety of the proper subset of data from the data set; determining the first type of performance measure using at least one of the two or more subsets of the pre-aggregated data set; generating, by a graphical user interface generator, presentation data that represents a value of the first type of performance measure calculated using at least one of the two or more subsets of the pre-aggregated data set; and providing, to a user device for display on a graphical user interface, the generated presentation data. - 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 that is calculated based on a proper subset of data in a data set; creating a pre-aggregated data set that includes the proper subset of data from the data set based on a first amount of time required to determine the first type of performance measure using the pre-aggregated data set being less than a second amount of time required to determine the first type of performance measure using the data set; storing, over a period of time, more data in the pre-aggregated data set; monitoring, over the period of time, a change in the first amount of time required to determine the first type of performance measure using the pre-aggregated data set; splitting, into two or more subsets, of the pre-aggregated data set when the change in the first amount of time meets a specified level, wherein each of the two or more subsets of the pre-aggregate data set includes less data than the pre-aggregated data set, and wherein the combination of the two or more subsets of the pre-aggregated data set includes the entirety of the proper subset of data from the data set; determining the first type of performance measure using at least one of the two or more subsets of the pre-aggregated data set; generating, by a graphical user interface generator, presentation data that represents a value of the first type of performance measure calculated using at least one of the two or more subsets of the pre-aggregated data set; and providing, to a user device for display on a graphical user interface, the generated presentation data. - View Dependent Claims (9, 10, 11, 12, 13, 14)
-
-
15. A system, comprising:
-
a data store storing a data set associated with one or more types of performance measures; and one or more data processing apparatus 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 that is calculated based on a proper subset of data in a data set; creating a pre-aggregated data set that includes the proper subset of data from the data set based on a first amount of time required to determine the first type of performance measure using the pre-aggregated data set being less than a second amount of time required to determine the first type of performance measure using the data set; storing, over a period of time, more data in the pre-aggregated data set; monitoring, over the period of time, a change in the first amount of time required to determine the first type of performance measure using the pre-aggregated data set; splitting, into two or more subsets, the pre-aggregated data set when the change in the first amount of time meets a specified level, wherein each of the two or more subsets of the pre-aggregate data set includes less data than the pre-aggregated data set, and wherein the combination of the two or more subsets of the pre-aggregated data set includes the entirety of the proper subset of data from the data set; determining the first type of performance measure using at least one of the two or more subsets of the pre-aggregated data set; generating, by a graphical user interface generator, presentation data that represents a value of the first type of performance measure calculated using at least one of the two or more subsets of the pre-aggregated data set; and providing, to a user device for display on a graphical user interface, the generated presentation data. - View Dependent Claims (16, 17, 18, 19, 20)
-
Specification