IP Library › Granted Patent US 12,292,861
Granted Patent B2
US 12,292,861 · App. 18/387,256 · Granted May 6, 2025

Method of applying computational model in multiple computational storage-based DBMS storage engine

Inventors: Jae Hoon An (Incheon, KR); Young Hwan Kim (Yongin-si, KR)
Assignee: KOREA ELECTRONICS TECHNOLOGY INSTITUTE
G06F16/21G06F16/2455
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,292,861
App. No.
18/387,256
Filed
Nov 6, 2023
Granted
May 6, 2025
Kind
B2
Art Unit
2168
USPC
707/754
Abstract

There is provided a query execution method in a DB system in which a plurality of CSDs are used as a storage. According to an embodiment, a query execution method includes: generating snippets for offloading a part of query computations for a query received from a client to CSDs; scheduling the generated snippets for the CSDs; collecting results of offloading; and merging the collected results of offloading. Accordingly, by dividing query computations, offloading, and processing in parallel, while processing query computations that are inappropriate for offloading by a DBMS, a query request from a client can be executed effectively and rapidly.

Claims (39)

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.

2. The query execution method of claim 1 , wherein a part of the query computations comprises query scanning, filtering, merging of results of filtering.

3. The query execution method of claim 2 , wherein the CSDs are configured to process the query scanning, the filtering, the merging of results of filtering in parallel by using the snippets.

4. The query execution method of claim 1 , wherein the generating comprises including data that is cached in a memory of the DBMS in the snippets.

5. The query execution method of claim 1 , wherein the CSDs are configured to perform a filtering operation after adding the caching data to the scan data when performing a query scanning operation.

6. The query execution method of claim 5 , wherein the CSDs are configured to add the caching data to a start portion of the scan data when performing the query scanning operation.

7. The query execution method of claim 1 , wherein the performing the aggregation operation is performed along with an operation of grouping the table data, and

wherein the storing comprises storing after arranging the table data.

8. A processor-implemented DataBase Management System (DBMS) comprising:

one or more processors configured to:

generate snippets for offloading a part of query computations for a query received from a client to Computational Storage Drives (CSDs);

schedule the generated snippets for the CSDs; collect results of the offloading from the CSDs; and

merge the collected results of the offloading, wherein, for the merging, the one or more processors are further configured to:

perform a joining operation with respect to table data that is stored in a first buffer as a result of the offloading by the CSDs;

perform an aggregation operation with respect to the joined table data; and store the aggregated table data in a second buffer,

and wherein, for the generating, the one or more processors are further configured to: determine 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, generate the snippets by including the caching data in the snippets.

9. A processor-implemented query execution method performed by one or more processors of a DataBase Management System (DBMS), the method comprising:

scheduling, by the DBMS for Computational Storage Drives (CSDs), snippets for offloading a part of query computations for a query received from a client to the CSDs;

processing, by the CSDs, the snippets in parallel and returning table data which is results of processing to the DBMS; and

merging, by the DBMS, by collecting the returned table data, 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 scheduling 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.

10. The DataBase Management System (DBMS) of claim 8 , wherein a part of the query computations comprises query scanning, filtering, merging of results of filtering.

11. The DataBase Management System (DBMS) of claim 10 , wherein the CSDs are configured to process the query scanning, the filtering, the merging of results of filtering in parallel by using the snippets.

12. The DataBase Management System (DBMS) of claim 8 , wherein the generating comprises including data that is cached in a memory of the DBMS in the snippets.

13. The DataBase Management System (DBMS) of claim 8 , wherein the CSDs are configured to perform a filtering operation after adding the caching data to the scan data when performing a query scanning operation.

14. The DataBase Management System (DBMS) of claim 13 , wherein the CSDs are configured to add the caching data to a start portion of the scan data when performing the query scanning operation.

15. The DataBase Management System (DBMS) of claim 8 , wherein the performing the aggregation operation is performed along with an operation of grouping the table data, and

wherein the storing comprises storing after arranging the table data.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 6, 2023
From: AN, JAE HOON; KIM, YOUNG HWAN
To: KOREA ELECTRONICS TECHNOLOGY INSTITUTE
Reel/Frame 065470/0012 →
Priority Claims (1)
KR 10-2022-0150071 · Nov 11, 2022 · national
Continuity (1)
Related Publication 20240160610A1 · May 16, 2024
References Cited (7)
US 11874691B1 · Batsakis · 2024 [cited by examiner]
US 11989592B1 · Kulkarni · 2024 [cited by examiner]
US 12045201B1 · Satish · 2024 [cited by examiner]
US 12057208B1 · Esman · 2024 [cited by examiner]
US 20170091642A1 · Enck · 2017 [cited by examiner]
Jun, et al. “Database storage engine design based on Computational Storage Device (CSD) to improve the performance of database management systems (DBMS)” Intelligent IDC Project Office, Korea Electronics Technology Inst… [cited by applicant]
Korean Office Action issued on Sep. 2, 2024, in counterpart Korean Patent Application No. 10-2022-0150071 (4 pages in English, 7 pages in Korean). [cited by applicant]