US 11,698,911 B2
System and methods for performing updated query requests in a system of multiple database engine
Siddharth Rajendra Shah, Bellevue, WA (US); Jeremy Norris, Lakeside, CA (US); Joseph Michael Davis, Encinitas, CA (US); Kausik Sridharabalan, San Jose, CA (US); Rajagopalan Madapusi Ammanur, Santa Clara, CA (US); and Ashwin Kumar Kayyoor, Santa Clara, CA (US)
Assigned to ServiceNow, Inc., Santa Clara, CA (US)
Filed by ServiceNow, Inc., Santa Clara, CA (US)
Filed on Nov. 9, 2020, as Appl. No. 17/93,617.
Claims priority of provisional application 62/932,931, filed on Nov. 8, 2019.
Claims priority of provisional application 62/960,567, filed on Jan. 13, 2020.
Prior Publication US 2021/0141796 A1, May 13, 2021
Int. Cl. G06F 16/2458 (2019.01); G06F 16/21 (2019.01); G06F 16/27 (2019.01); G06F 16/22 (2019.01); G06F 16/23 (2019.01); G06F 16/2455 (2019.01)
CPC G06F 16/2471 (2019.01) [G06F 16/214 (2019.01); G06F 16/22 (2019.01); G06F 16/221 (2019.01); G06F 16/2379 (2019.01); G06F 16/24553 (2019.01); G06F 16/27 (2019.01)] 16 Claims
OG exemplary drawing
 
1. A system, comprising:
a row-oriented database comprising a first set of data entries;
a column-oriented database comprising a second set of data entries, wherein the column-oriented database and the row-oriented database are different databases;
a storage component comprising information associated with one or more changes made to the first set of data entries; and
a processor configured to execute computer-executable instructions stored on a non-transitory computer-readable medium, wherein the computer-executable instructions, when executed, cause the processor to:
receive a query request configured to identify one or more entries in the first set of data entries, the second set of data entries, or both;
determine whether the query request comprises performing a row-oriented operation, a column-oriented operation, or both;
execute the query request via the column-oriented database in response to the query request comprising the column-oriented operation, wherein executing the query request via the column-oriented database comprises:
determining whether the column-oriented operation is associated with the one or more changes based on the information;
comparing an amount of time associated with replicating the one or more changes to the column-oriented database to a threshold amount of time;
based on the amount of time exceeding the threshold amount of time:
creating a transient file associated with the one or more changes in response to the column-oriented operation being associated with the one or more changes, wherein the transient file corresponds to a format recognized by the column-oriented database;
transmitting the transient file and the query request to the column-oriented database; and
querying the column-oriented database based on the query request and the transient file;
based on the amount of time being less than or equal to the threshold amount of time:
replicating the one or more changes to the column-orientated database in response to the column-oriented operation being associated with the one or more changes; and
querying the column-oriented database based on the query request.