IP Library › Granted Patent US 12,619,606
Granted Patent B2
US 12,619,606 · App. 18/759,619 · Granted May 5, 2026

System and methods for processing query command within data warehouse architecture

Inventors: Kartik Kulkarni (Union City, CA); Darshan Nagaraj (Berlin, DE)
Assignee: AkashX Inc.
G06F16/24542G06F16/24561G06F16/283
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,619,606
App. No.
18/759,619
Granted
May 5, 2026
Kind
B2
Abstract

Embodiments of the disclosure describe a system and method for processing Structured Query Language (SQL) query within data warehouse architecture. The method includes receiving, by nodes associated with an engine layer, a SQL query from a client device, the engine layer indicates a component of the data warehouse architecture. Further, the method includes receiving a topology from a storage layer in response to receiving the SQL query, the topology indicates an arrangement of the stored data among partitions associated with the storage layer. Further, the method includes determining an execution plan tree, the execution plan tree indicates operations to be executed by the engine layer and the storage layer corresponding to the SQL query. The method includes distributing, a fragment of the execution plan tree to the storage layer based on the topology, for processing the operations.

Claims (66)

1 . A method for processing a Structured Query Language (SQL) query within a data warehouse architecture, the method comprising:

receiving, by one or more nodes associated with an engine layer, a SQL query from a client device, wherein the engine layer indicates component of the data warehouse architecture configured for receiving, interpreting, optimizing, and executing the SQL query against stored data;

receiving, by the one or more nodes associated with the engine layer, a topology from a storage layer in response to receiving the SQL query, wherein the topology indicates arrangement of the stored data among one or more partitions associated with the storage layer, and wherein the storage layer indicates component of the data warehouse architecture for storing and managing data;

determining, by the one or more nodes associated with the engine layer, an execution plan tree based on correlating the SQL query, a received data volume value, and pre-defined capabilities of the storage layer, wherein determining the execution plan tree comprises:

optimizing, by the engine layer, the received SQL query to determine the received data volume value indicating an amount of data volume that the storage layer sends to the engine layer for processing the received SQL query;

correlating the SQL query, the received data volume value, and the pre-defined capabilities of the storage layer; and

assigning, one or more operations for processing the received SQL query to the engine layer and the storage layer, based on correlating the SQL query, the received data volume value, and the pre-defined capabilities of the storage layer, thereby determining the execution plan tree,

and wherein the execution plan tree indicates the one or more operations to be executed by the engine layer and the storage layer corresponding to the received SQL query;

distributing, by the one or more nodes associated with the engine layer, a fragment of the execution plan tree to the storage layer based on the topology, for processing the one or more operations included in the execution plan tree such that the received or fetched data volume value and a computational load value of the engine layer is reduced, wherein distributing the fragment of the execution plan tree to the storage layer based on the topology comprises sending the fragment of the execution plan tree to the storage layer based on: identification of one or more execution nodes in the execution plan tree assigned to the storage layer, and the topology, wherein each of the one or more execution nodes include metadata thereby required for processing the received SQL query;

processing, by the storage layer, the one or more operations corresponding to the fragment of the execution plan tree;

sending, by the storage layer, processed results to the engine layer thereby reducing the received data volume value and the computational load value of the engine layer; and

generating, by the engine layer, a compiled result-set by combining the processed results received from the storage layer with computed results generated within the engine layer, thereby passing the compiled result-set to the client device.

2 . The method of claim 1 , wherein the one or more nodes receiving the SQL query is a query coordinator and the one or more nodes determining the execution plan tree is a query optimizer.

3 . The method of claim 1 , wherein determining the execution plan tree further comprises:

parsing, by the engine layer, the received SQL query, indicating determining syntactic structure and semantics corresponding to the received SQL query; and

receiving, by the engine layer, the pre-defined capabilities indicating computation characteristics of the storage layer.

4 . The method of claim 1 , wherein distributing the fragment of the execution plan tree to the storage layer based on the topology further comprises:

identifying the one or more execution nodes in the execution plan tree assigned to the storage layer, wherein the metadata indicates operation codes or functions for each of the one or more execution nodes, catalog content, list of objects, filters, predicates, projections, and data types,

wherein the fragment of the execution plan tree is sent to the storage layer based on the identification and the topology such that the one or more nodes associated with the engine layer send the fragment to a corresponding one or more partitions associated with the storage layer, wherein the fragment of the execution plan tree includes at least one of: an individual execution node or a plurality of execution nodes.

5 . The method of claim 1 , wherein the storage layer of the data warehouse architecture is disaggregated and decoupled from the engine layer.

6 . A method of processing a Structured Query Language (SQL) query within a data warehouse architecture, the method comprising:

receiving, by one or more nodes associated with an engine layer, a SQL query from a client device, wherein the engine layer indicates component of the data warehouse architecture configured for receiving, interpreting, optimizing, and executing the SQL query against stored data;

determining, by the one or more nodes associated with the engine layer, an execution plan tree based on correlating the SQL query, a received data volume value, and pre-defined capabilities of a storage layer, wherein determining the execution plan tree comprises:

optimizing, by the engine layer, the received SQL query to determine the received data volume value indicating an amount of data volume that the storage layer sends to the engine layer for processing the received SQL query;

correlating the SQL query, the received data volume value, and the pre-defined capabilities of the storage layer; and

assigning, one or more operations for processing the received SQL query to the engine layer and the storage layer, based on correlating the SQL query, the received data volume value, and the pre-defined capabilities of the storage layer, thereby determining the execution plan tree,

and wherein the execution plan tree indicates the one or more operations to be executed by the engine layer and the storage layer corresponding to the received SQL query;

sending, by the one or more nodes associated with the engine layer, a fragment of the execution plan tree to the storage layer for processing the one or more operations included in the execution plan tree such that the received or fetched data volume value and a computational load value of the engine layer is reduced, wherein the fragment of the execution plan tree is sent to the storage layer based on: identification of one or more execution nodes in the execution plan tree assigned to the storage layer, and a topology received from the storage layer, wherein each of the one or more execution nodes include metadata thereby required for processing the received SQL query, and wherein the topology indicates arrangement of the stored data among one or more partitions associated with the storage layer;

processing, by the storage layer, the one or more operations corresponding to the fragment of the execution plan tree;

sending, by the storage layer, processed results to the engine layer thereby reducing the received data volume value and the computational load value of the engine layer; and

generating, by the engine layer, a compiled result-set by combining the processed results received from the storage layer with computed results generated within the engine layer, thereby passing the compiled result-set to the client device.

7 . A system for processing a Structured Query Language (SQL) query within a data warehouse architecture, wherein the system comprises:

a memory; and

at least one processor in communication with the memory, the at least one processor configured to

receive, by one or more nodes associated with an engine layer, a SQL query from a client device, wherein the engine layer indicates component of the data warehouse architecture configured for receiving, interpreting, optimizing, and executing the SQL query against stored data;

receive, by the one or more nodes associated with the engine layer, a topology from a storage layer in response to receiving the SQL query, wherein the topology indicates arrangement of the stored data among one or more partitions associated with the storage layer, and wherein the storage layer indicates component of the data warehouse architecture for storing and managing data;

determine, by the one or more nodes associated with the engine layer, an execution plan tree based on correlating the SQL query, a received data volume value, and pre-defined capabilities of the storage layer, wherein to determine the execution plan tree, the at least one processor is configured to:

optimize, by the engine layer, the received SQL query to determine the received data volume value indicating an amount of data volume that the storage layer sends to the engine layer for processing the received SQL query;

correlate the SQL query, the received data volume value, and the pre-defined capabilities of the storage layer; and

assign, one or more operations for processing the received SQL query to the engine layer and the storage layer, based on correlating the SQL query, the received data volume value, and the pre-defined capabilities of the storage layer, thereby determining the execution plan tree,

and wherein the execution plan tree indicates the one or more operations to be executed by the engine layer and the storage layer corresponding to the received SQL query;

distribute, by the one or more nodes associated with the engine layer, a fragment of the execution plan tree to the storage layer based on the topology, for processing the one or more operations included in the execution plan tree such that the received or fetched data volume value and a computational load value of the engine layer is reduced, wherein to distribute the fragment of the execution plan tree to the storage layer based on the topology, the at least one processor is configured to send the fragment of the execution plan tree to the storage layer based on: identification of one or more execution nodes in the execution plan tree assigned to the storage layer, and the topology, wherein each of the one or more execution nodes include metadata thereby required for processing the received SQL query;

process, by the storage layer, the one or more operations corresponding to the fragment of the execution plan tree;

send, by the storage layer, processed results to the engine layer thereby reducing the received data volume value and the computational load value of the engine layer; and

generate, by the engine layer, a compiled result-set by combining the processed results received from the storage layer with computed results generated within the engine layer, thereby passing the compiled result-set to the client device.

8 . The system of claim 7 , wherein the one or more nodes receiving the SQL query is a query coordinator and the one or more nodes determining the execution plan tree is a query optimizer.

9 . The system of claim 7 , wherein to determine the execution plan tree, the at least one processor is configured to:

parse, using the engine layer, the received SQL query, indicating determining syntactic structure and semantics corresponding to the received SQL query; and

receive, using the engine layer, the pre-defined capabilities indicating computation characteristics of the storage layer.

10 . The system of claim 7 , wherein the fragment of the execution plan tree is distributed to the storage layer based on the topology by:

identifying the one or more execution nodes in the execution plan tree assigned to the storage layer, wherein the metadata indicates operation codes or functions for each of the one or more execution nodes, catalog content, list of objects, filters, predicates, projections, and data types,

wherein the fragment of the execution plan tree is sent to the storage layer based on the identification and the topology such that the one or more nodes associated with the engine layer send the fragment to a corresponding one or more partitions associated with the storage layer, wherein the fragment of the execution plan tree includes at least one of: an individual execution node or a plurality of execution nodes.

11 . The system of claim 7 , wherein the storage layer of the data warehouse architecture is disaggregated and decoupled from the engine layer.

12 . A system of processing a Structured Query Language (SQL) query within a data warehouse architecture, wherein the system comprises:

a memory; and

at least one processor in communication with the memory, the at least one processor configured to:

receive, by one or more nodes associated with an engine layer, a SQL query from a client device, wherein the engine layer indicates component of the data warehouse architecture configured for receiving, interpreting, optimizing, and executing the SQL query against stored data;

determine, by the one or more nodes associated with the engine layer, an execution plan tree based on correlating the SQL query, a received data volume value, and pre-defined capabilities of a storage layer, wherein to determine the execution plan tree, the at least one processor is configured to:

optimize, by the engine layer, the received SQL query to determine the received data volume value indicating an amount of data volume that the storage layer sends to the engine layer for processing the received SQL query;

correlate the SQL query, the received data volume value, and the pre-defined capabilities of the storage layer; and

assign, one or more operations for processing the received SQL query to the engine layer and the storage layer, based on correlating the SQL query, the received data volume value, and the pre-defined capabilities of the storage layer, thereby determining the execution plan tree,

and wherein the execution plan tree indicates the one or more operations to be executed by the engine layer and the storage layer corresponding to the received SQL query;

send, by the one or more nodes associated with the engine layer, a fragment of the execution plan tree to the storage layer for processing the one or more operations included in the execution plan tree such that the received or fetched data volume value and a computational load value of the engine layer is reduced, wherein the fragment of the execution plan tree is sent to the storage layer based on: identification of one or more execution nodes in the execution plan tree assigned to the storage layer, and a topology received from the storage layer, wherein each of the one or more execution nodes include metadata thereby required for processing the received SQL query, and wherein the topology indicates arrangement of the stored data among one or more partitions associated with the storage layer;

process, by the storage layer, the one or more operations corresponding to the fragment of the execution plan tree;

send, by the storage layer, processed results to the engine layer thereby reducing the received data volume value and the computational load value of the engine layer; and

generate, by the engine layer, a compiled result-set by combining the processed results received from the storage layer with computed results generated within the engine layer, thereby passing the compiled result-set to the client device.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 28, 2024
From: KULKARNI, KARTIK; NAGARAJ, DARSHAN
To: AKASHX INC.
Reel/Frame 067967/0251 →
Continuity (2)
Provisional Application 63619341 · Jan 10, 2024
Related Publication 20240378200A1 · Nov 14, 2024
References Cited (16)
US 11256695B1 · He · 2022 [cited by examiner]
US 20030212668A1 · Hinshaw · 2003 [cited by examiner]
US 20070050328A1 · Li · 2007 [cited by examiner]
US 20080114803A1 · Chinchwadkar · 2008 [cited by examiner]
US 20080147599A1 · Young-Lai · 2008 [cited by examiner]
US 20140310259A1 · Tian · 2014 [cited by examiner]
US 20180046675A1 · Zhou · 2018 [cited by examiner]
US 20210103589A1 · Dageville et al. · 2021 [cited by applicant]
US 20210311946A1 · Cheng · 2021 [cited by examiner]
US 20220114179A1 · Zheng · 2022 [cited by examiner]
US 20220138224A1 · Cruanes et al. · 2022 [cited by applicant]
US 20230153295A1 · Frantz et al. · 2023 [cited by applicant]
US 20230376485A1 · Qu · 2023 [cited by examiner]
CN 103927346A · 2014 [cited by examiner]
CN 110069511B · 2021 [cited by examiner]
CN 111064808B · 2022 [cited by examiner]