Probabilistic eviction of partial aggregation results from constrained results storage
First Claim
1. A system, comprising:
- at least one processor;
a memory, storing program instructions, that when executed by the at least one processor cause the at least one processor to perform a method comprising;
receiving a request from a client to perform an aggregation operation with respect to a plurality of entries in a table stored in a data store;
accessing the data store table to scan the plurality of entries;
applying the aggregation operation to one or more entries of the table to generate a partial aggregation result for the aggregation operation with respect to the one or more entries;
determining that insufficient storage exists in a result store in the memory for the aggregation operation to store the partial aggregation result, wherein the result store stores a plurality of other partial aggregation results for the aggregation operation;
identifying one or more of the other partial aggregation results in the result store according to a respective reoccurrence probability for the one or more other aggregation results to evict;
sending the identified one or more other partial aggregation results to the client to make storage available for the partial aggregation result;
reclaiming storage space of the identified one or more other partial aggregation results in the result store; and
updating the result store to include the partial aggregation result based on the reclaimed storage space.
1 Assignment
0 Petitions
Accused Products
Abstract
Probabilistic eviction of partial aggregation results may be implemented for aggregation operations performed using constrained result storage. An aggregation operation request may be received from a client and executed by scanning and applying the aggregation operation to data retrieved by scanning a data store. Partial aggregation results that are generated while executing the aggregation operation may be stored in a result store. If a partial aggregation result is generated when no further storage space in the result store is available, then one or more currently stored partial aggregation results may be evicted according to a reoccurrence probability so that the new partial aggregation result may be stored in the result store. The evicted partial aggregation results may be sent to the client.
7 Citations
20 Claims
-
1. A system, comprising:
-
at least one processor; a memory, storing program instructions, that when executed by the at least one processor cause the at least one processor to perform a method comprising; receiving a request from a client to perform an aggregation operation with respect to a plurality of entries in a table stored in a data store; accessing the data store table to scan the plurality of entries; applying the aggregation operation to one or more entries of the table to generate a partial aggregation result for the aggregation operation with respect to the one or more entries; determining that insufficient storage exists in a result store in the memory for the aggregation operation to store the partial aggregation result, wherein the result store stores a plurality of other partial aggregation results for the aggregation operation; identifying one or more of the other partial aggregation results in the result store according to a respective reoccurrence probability for the one or more other aggregation results to evict; sending the identified one or more other partial aggregation results to the client to make storage available for the partial aggregation result; reclaiming storage space of the identified one or more other partial aggregation results in the result store; and updating the result store to include the partial aggregation result based on the reclaimed storage space. - View Dependent Claims (2, 3, 4)
-
-
5. A method, comprising:
performing, by one or more computing devices; receiving a request from a client to perform an aggregation operation with respect to a plurality of entries in a table stored in a data store; obtaining one or more entries from the table; applying the aggregation operation to the one or more entries to generate a partial aggregation result for the aggregation operation with respect to the one or more entries; determining that insufficient storage exists in a result store for the aggregation operation to store the partial aggregation result, wherein the result store stores a plurality of other partial aggregation results for the aggregation operation; selecting one or more of the other partial aggregation results in the result store according to a respective reoccurrence probability for the one or more other aggregation results; sending the selected one or more other partial aggregation results to the client to make storage available for the partial aggregation result; and storing the partial aggregation result in the result store. - View Dependent Claims (6, 7, 8, 9, 10, 11, 12, 13)
-
14. A non-transitory, computer-readable storage medium, storing program instructions that when executed by one or more computing devices cause the one or more computing devices to implement:
-
receiving a request from a client to perform an aggregation operation with respect to a plurality of entries in a table stored in a data store; scanning the table to obtain the plurality of entries; applying the aggregation operation to one or more entries obtained from the table to generate a partial aggregation result for the aggregation operation with respect to the one or more entries; determining that insufficient storage exists in a result store for the aggregation operation to store the partial aggregation result, wherein the result store stores a plurality of other partial aggregation results for the aggregation operation; evicting one or more of the other partial aggregation results in the result store according to a respective reoccurrence probability for the one or more other aggregation results; sending the selected one or more other partial aggregation results to the client to make storage available for the partial aggregation result; and storing the partial aggregation result in the result store. - View Dependent Claims (15, 16, 17, 18, 19, 20)
-
Specification