US 12,393,591 B2
Approximate query execution system that bounds query execution based on runtime conditions
David Tracey, Monasterboice (IE); and Miguel Casanova, Dublin (IE)
Assigned to Rapid7, Inc., Boston, MA (US)
Filed by Rapid7, Inc., Boston, MA (US)
Filed on Apr. 16, 2024, as Appl. No. 18/636,356.
Application 18/636,356 is a continuation of application No. 16/936,002, filed on Jul. 22, 2020, granted, now 11,971,893.
Prior Publication US 2024/0265017 A1, Aug. 8, 2024
This patent is subject to a terminal disclaimer.
Int. Cl. G06F 16/2455 (2019.01); G06F 16/23 (2019.01); G06F 16/2458 (2019.01); G06F 16/248 (2019.01); G06F 16/28 (2019.01)
CPC G06F 16/24556 (2019.01) [G06F 16/2379 (2019.01); G06F 16/2477 (2019.01); G06F 16/248 (2019.01); G06F 16/287 (2019.01)] 18 Claims
OG exemplary drawing
 
1. A method comprising:
performing, by one or more hardware processors with associated memory that implement a query execution system:
receiving a query specifying to compute statistics for a plurality of groups of records in a dataset; and
executing the query, comprising:
dynamically determining, based on one or more runtime conditions when the query is received, a maximum number of groups for which to calculate exact group statistics according to the query, wherein only approximate group statistics are calculated for additional groups above the maximum number,
allocating a result grouping structure (RGS) to store the exact group statistics and an approximate result grouping structure (ARGS) to store the approximate group statistics,
in a single pass scan of the dataset:
accumulating the exact group statistics in the RGS for the maximum number of groups from the groups of records, and
accumulating approximate group statistics in the ARGS for one or more additional groups above the maximum number from the groups of records;
outputting a response to the query based at least in part on the RGS and the ARGS, wherein
the response is output via a graphical user interface of the query execution system, and
the graphical user interface includes a three-dimensional graph that indicates, in time slices, the exact group statistics for the maximum number of the groups and the approximate group statistics for the one or more additional groups above the maximum number, and
indicating, on the graphical user interface, a recommendation to zoom in on a particular time slice in the three-dimensional graph, wherein the particular time slice is selected based on a number of approximate results in the particular time slice exceeding a configured threshold.