| CPC G06F 16/21 (2019.01) [G06F 16/2455 (2019.01)] | 15 Claims |

|
1. A query execution method comprising:
generating, by one or more processors of a DBMS (DataBase Management System), snippets for offloading a part of query computations for a query received from a client to CSDs (Computational Storage Drives);
scheduling, by the one or more processors of the DBMS, the generated snippets for the CSDs;
collecting, by the one or more processors of the DBMS, results of the offloading from the CSDs; and
merging, by the one or more processors of the DBMS, the collected results of the offloading, wherein the merging comprises:
performing a joining operation with respect to table data that is stored in a first buffer as a result of the offloading by the CSDs;
performing an aggregation operation with respect to the joined table data;
and storing the aggregated table data in a second buffer, and wherein the generating comprises determining whether caching data should be added into scan data of the snippets based on a result of analyzing the query, and only when it is determined that the caching data should be added into the scan data, generating the snippets by including the caching data in the snippets.
|