| CPC G06F 16/273 (2019.01) [A61F 5/566 (2013.01); G06F 9/4881 (2013.01); G06F 9/5016 (2013.01); G06F 9/5044 (2013.01); G06F 9/5083 (2013.01); G06F 9/5088 (2013.01); G06F 16/148 (2019.01); G06F 16/1827 (2019.01); G06F 16/211 (2019.01); G06F 16/221 (2019.01); G06F 16/2365 (2019.01); G06F 16/24532 (2019.01); G06F 16/24545 (2019.01); G06F 16/24552 (2019.01); G06F 16/2456 (2019.01); G06F 16/2471 (2019.01); G06F 16/254 (2019.01); G06F 16/27 (2019.01); G06F 16/283 (2019.01); G06F 16/951 (2019.01); G06F 16/9535 (2019.01); G06F 16/9538 (2019.01); H04L 67/1095 (2013.01); H04L 67/1097 (2013.01); H04L 67/568 (2022.05)] | 20 Claims |

|
1. A method, comprising:
storing at least a portion of database data to one or more caches accessible to a plurality of execution nodes;
receiving, by a resource manager running on a first execution node of the plurality of execution nodes, a query to process the database data, wherein each of the plurality of execution nodes comprises at least one processor and a cache to cache data from a plurality of storage devices to independently process an allocated portion of the database data, wherein the resource manager is scaled independently from other resource managers based on the query and associated database data to be processed, wherein the cache varies in size among the plurality of execution nodes; and
allocating, the query to one or more of the plurality of execution nodes to process the database data, the one or more of the plurality of execution nodes having access to the one or more caches storing at least a portion of the database data, wherein the one or more of the plurality of execution nodes process the database data based at least in part on an organization of the database data within the one or more caches of the plurality of execution nodes and the plurality of storage devices.
|