Method and apparatus for efficient aggregate computation over data streams
First Claim
1. A method comprising:
- determining, using a processor, a set of aggregate queries to be executed on a data stream, the set of aggregate queries comprising queries that perform respective sets of aggregation operations on respective sets of attribute values over respective time intervals;
generating, using the processor, at least one intermediate aggregate query for a subset of the set of aggregate queries, said at least one intermediate aggregate query combining a subset of aggregation operations for the subset of aggregate queries and a subset of attribute values;
executing, using the processor, said at least one intermediate aggregate query to generate pre-aggregated data from the data stream for the subset of aggregate queries; and
executing, using the processor, the subset of aggregate queries on the pre-aggregated data subsequent to executing said at least one intermediate aggregate query;
wherein each of at least two aggregate queries in the subset of aggregate queries comprises;
a number of group-by attributes on which aggregation is performed; and
a time interval over which aggregation is performed.
4 Assignments
0 Petitions
Accused Products
Abstract
A method includes determining, using a processor, a set of aggregate queries to be executed on a data stream, the set of aggregate queries comprising queries that perform respective sets of aggregation operations on respective sets of attribute values over respective time intervals. The method also includes generating, using the processor, at least one intermediate aggregate query for a subset of the set of aggregate queries, the at least one intermediate aggregate query combining a subset of aggregation operations for the subset of aggregate queries and a subset of attribute values. The method further includes executing, using the processor, the at least one intermediate aggregate query to generate pre-aggregated data from the data stream for the subset of aggregate queries and executing, using the processor, the subset of aggregate queries subsequent to executing the at least one intermediate aggregate query on the pre-aggregated data.
27 Citations
20 Claims
-
1. A method comprising:
-
determining, using a processor, a set of aggregate queries to be executed on a data stream, the set of aggregate queries comprising queries that perform respective sets of aggregation operations on respective sets of attribute values over respective time intervals; generating, using the processor, at least one intermediate aggregate query for a subset of the set of aggregate queries, said at least one intermediate aggregate query combining a subset of aggregation operations for the subset of aggregate queries and a subset of attribute values; executing, using the processor, said at least one intermediate aggregate query to generate pre-aggregated data from the data stream for the subset of aggregate queries; and executing, using the processor, the subset of aggregate queries on the pre-aggregated data subsequent to executing said at least one intermediate aggregate query; wherein each of at least two aggregate queries in the subset of aggregate queries comprises; a number of group-by attributes on which aggregation is performed; and a time interval over which aggregation is performed. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. An article of manufacture comprising a processor-readable non-transitory storage medium storing one or more instructions which, when executed by a processor, configure the processor to:
-
determine a set of aggregate queries to be executed on a data stream, the set of aggregate queries comprising queries that perform respective sets of aggregation operations on respective sets of attribute values over respective time intervals; generate at least one intermediate aggregate query for a subset of the set of aggregate queries, said at least one intermediate aggregate query combining a subset of aggregation operations for the subset of aggregate queries and a subset of attribute values; execute said at least one intermediate aggregate query to generate pre-aggregated data from the data stream for the subset of queries; and execute the subset of aggregate queries on the pre-aggregated data subsequent to executing said at least one intermediate aggregate query; wherein each of at least two aggregate queries in the subset of aggregate queries comprises; a number of group-by attributes on which aggregation is performed; and a time interval over which aggregation is performed. - View Dependent Claims (11, 12, 13, 14)
-
-
15. Apparatus, comprising:
-
a memory; and a processor coupled to the memory and configured to; determine a set of aggregate queries to be executed on a data stream, the set of aggregate queries comprising queries that perform respective sets of aggregation operations on respective sets of attribute values over respective time intervals; generate at least one intermediate aggregate query for a subset of the set of aggregate queries, said at least one intermediate aggregate query combining a subset of aggregation operations for the subset of aggregate queries and a subset of attribute values; execute said at least one intermediate aggregate query to generate pre-aggregated data from the data stream for the subset of queries; and execute the subset of aggregate queries on the pre-aggregated data subsequent to executing said at least one intermediate aggregate query; wherein each of at least two aggregate queries in the subset of aggregate queries comprises; a number of group-by attributes on which aggregation is performed; and a time interval over which aggregation is performed. - View Dependent Claims (16, 17, 18, 19, 20)
-
Specification