US 12,254,352 B2
Reduced memory utilization for data analytics procedures
Vignesh Salem Ramamurthy, Hyderabad (IN); Gayatri Kamarajugadda, Hyderabad (IN); Lav Jaitak, Hyderabad (IN); Vamshi Sandhireddy, Hyderabad (IN); Kyle Barron-Kraus, East Lansing, MI (US); Aiswarya, Hyderabad (IN); Radhika Khandelwal, Hyderabad (IN); Rahul Borkar, Hyderabad (IN); Abhijith Nagarajan, Hyderabad (IN); Benedetto Fiorelli, Amsterdam (NL); and Aravind Racharla, Hyderabad (IN)
Assigned to ServiceNow, Inc., Santa Clara, CA (US)
Filed by ServiceNow, Inc., Santa Clara, CA (US)
Filed on Oct. 28, 2021, as Appl. No. 17/513,028.
Prior Publication US 2023/0140179 A1, May 4, 2023
Int. Cl. G06F 9/50 (2006.01)
CPC G06F 9/5016 (2013.01) 20 Claims
OG exemplary drawing
 
1. A system comprising:
a main database;
a main memory; and
one or more processors configured to:
retrieve, by a data collector application, records from the main database into the main memory, wherein the data collector application includes an embedded database, wherein the embedded database is separate from the main database, wherein the main memory is volatile storage, wherein the embedded database is in non-volatile storage;
aggregate, by the data collector application, values in the records relating to a key performance indicator (KPI) to form partial KPI data stored in one or more blocks of the main memory;
determine, by the data collector application, that utilization of the main memory exceeds a pre-defined threshold;
in response to the utilization of the main memory exceeding the pre-defined threshold, write, by the data collector application, the partial KPI data to a row of the embedded database, wherein writing the partial KPI data to the row of the embedded database comprises combining the partial KPI data with other partial KPI data already stored in the row of the embedded database;
determine that an end of the records has been reached;
in response to determining that the end of the records has been reached, write values from the row of the embedded database to the main database as final KPI data;
delete the row of the embedded database relating to the KPI; and
release, by the data collector application, the one or more blocks of the main memory used to store the partial KPI data.