US 12,229,094 B2
Proxy-based database scaling
Saileshwar Krishnamurthy, Palo Alto, CA (US); Alexey Kuznetsov, New Westminster (CA); Mushahid Alam, Seattle, WA (US); Anurag Windlass Gupta, Atherton, CA (US); Kamal Kant Gupta, Snoqualmie, WA (US); Tengiz Kharatishvili, Sammamish, WA (US); Bohan Liu, Seattle, WA (US); Sandor Loren Maurice, Vancouver (CA); Alok Nandan Nikhil, Seattle, WA (US); Nicholas Piers O'Shea, Seattle, WA (US); Debanjan Saha, Los Altos, CA (US); Yoni Shalom, Vancouver (CA); Jagdeep Singh Sidhu, Vancouver (CA); Hongbo Song, Issaquah, WA (US); Alexandre Olegovich Verbitski, Woodinville, WA (US); Lawrence Douglas Webley, Seattle, WA (US); Siyuan Xing, Issaquah, WA (US); Yuhui Yuan, Seattle, WA (US); and Yibo Zhu, Issaquah, WA (US)
Assigned to Amazon Technologies, Inc., Seattle, WA (US)
Filed by Amazon Technologies, Inc., Seattle, WA (US)
Filed on Jul. 22, 2022, as Appl. No. 17/814,463.
Application 17/814,463 is a continuation of application No. 15/971,964, filed on May 4, 2018, granted, now 11,397,711.
Claims priority of provisional application 62/590,171, filed on Nov. 22, 2017.
Prior Publication US 2022/0358106 A1, Nov. 10, 2022
Int. Cl. G06F 16/21 (2019.01); G06F 16/27 (2019.01); H04L 67/56 (2022.01)
CPC G06F 16/217 (2019.01) [G06F 16/27 (2019.01); H04L 67/56 (2022.05)] 20 Claims
OG exemplary drawing
 
1. A system, comprising:
one or more processors; and
a memory, that stores program instructions that, when executed by the at least one processor, cause the one or more processors to implement a proxy for a database engine head node, configured to:
receive a request for a database specified in Structured Query Language (SQL);
parse, using a query engine implemented at the proxy, the request specified in SQL;
determine, based on the parsed request, that the proxy is able to perform the parsed request instead of sending the request to the database engine head node to perform the parsed request;
access, using the query engine, a schema for the database and statistics for the database to obtain database data to perform the parsed request for the database;
parse, by the query engine, the database data to generate a result for the request; and
return the result for the request for the database.