IP Library › Granted Patent US 12,737,355
Granted Patent B2
US 12,737,355 · App. 19/001,858 · Granted Sep 15, 2026

Query optimizer system for heterogenous database computing

Inventors: Sowmya Kameswaran (San Jose, CA); Xu Qin Zhao (Beijing, CN); Ye Tao (Beijing, CN)
Assignee: International Business Machines Corporation
G06F16/24532G06F16/24535
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,737,355
App. No.
19/001,858
Granted
Sep 15, 2026
Kind
B2
Abstract

A computer-implemented method for processing database queries includes receiving a query at a query optimizer. A suitability of a plurality of specialized processors for executing the query in a first parallel process is determined, and a suitability of a plurality of specialized database management systems (DBMS) for processing the query in a second parallel process is determined. The suitable specialized processors and the suitable specialized database management systems with the query are correlated using an analytics accelerator. A specialized DBMS and a specialized processor as a recommendation to a primary DBMS is output.

Claims (46)

1 . A computer-implemented method for processing database queries comprising:

receiving a query at a query optimizer included in a general database management system (DBMS);

determining a suitability of a plurality of specialized processors for executing the query in a first parallel process;

determining a suitability of a plurality of specialized database management systems (DBMS) for processing the query in a second parallel process;

correlating at least one suitable specialized processor and at least one suitable specialized DBMS with the query, wherein the at least one suitable specialized DBMS and the at least one suitable specialized processor are in communication with the general DBMS;

transferring the query to a specialized DBS of the at least one suitable specialized DBMS and a specialized processor of the at least one suitable specialized processor based on the correlation;

wherein the second parallel process comprises:

determining which specialized DBMS of the plurality of specialized DBMS are eligible to process the query;

determining how often each of the eligible specialized DBMS has processed a similarly structured queries;

determining what data elements of a database are being referenced by the query;

determining an estimated processing time of the query for each eligible specialized DBMS based on the data elements being referenced and how often the eligible specialized DBMS has processed the similarly structured queries;

comparing, for each eligible specialized DBMS a combination of a determined access speed including the estimated processing time of the eligible specialized DBMS and a time for transferring the query to the eligible specialized DBMS to an access speed of the general DBMS; and

assigning execution of the query to a faster of the eligible specialized DBMSs and the general DBMS based on the comparison.

2 . The computer-implemented method of claim 1 , wherein determining the suitability of the plurality of specialized processors for executing the query comprises determining a first specialized processor in the plurality of processors is suitable for executing the query, and the method further comprises executing the query using the first specialized processor.

3 . The computer-implemented method of claim 1 , wherein determining the suitability of the plurality of specialized database management systems (DBMS) for processing the query comprises determining a first specialized DBMS is suitable for processing the query, and the method further comprises executing the query using the first specialized DBMS.

4 . The computer-implemented method of claim 1 , wherein determining the suitability of the plurality of specialized processors for executing the query and determining the suitability of the plurality of specialized database management systems (DBMS) for processing the query in a second parallel process comprises determining that no specialized processors in the plurality of specialized processors are suitable for executing the query and that no specialized DBMS in the plurality of specialized DBMS are suitable for processing the query, and wherein the method further comprises executing the query using a general processor and processing the query using a general DBMS.

5 . The computer-implemented method of claim 1 , wherein the query is a workload of query requests, and wherein the workload of query requests are considered as a single query.

6 . The computer-implemented method of claim 1 , wherein the query optimizer is a software module within a general DBMS.

7 . The computer-implemented method of claim 1 , wherein the specialized DBMS in the plurality of specialized DBMS include corresponding specialized processors of the plurality of specialized processors.

8 . The computer-implemented method of claim 1 , wherein the first parallel process identifies sub queries within the query, identifies a source of the sub queries, and identifies a set of characteristics of the sub queries and compares the characteristics of the sub queries to capabilities of the specialized processors.

9 . The computer-implemented method of claim 8 , wherein the characteristics include a read only status of the sub queries, an input/output (IO) intensity of the sub queries, a processing power requirement of the sub queries, and a presence of extensible markup language (XML) parsing in the sub queries.

10 . The computer-implemented method of claim 1 , further comprising executing the query using the faster of the eligible specialized DBMS.

11 . The computer-implemented method of claim 1 , wherein the plurality of specialized processors are correlated with the plurality of specialized DBMS such that each specialized DBMS includes a specialized processors of the plurality of specialized processors.

12 . A computer system comprising:

a general database management system (DBMS) including a general processor and a memory, the memory storing a query optimizer module;

at least one specialized DBMS in communication with the general DBMS;

at least one specialized processor in communication with the general DBMS;

the query optimizer module being configured to receive a query;

determining a suitability of the at least one specialized processor for executing the query in a first parallel process;

determining a suitability of the at least one specialized DBMS for processing the query in a second parallel process;

transferring the query to a specialized DBMS of the at least one specialized DBMS and a specialized processor of the at least one specialized processor in response to the at least one specialized processor being suitable and the at least one specialized DBMS being suitable;

wherein the second parallel process comprises:

determining which specialized DBMS of the plurality of specialized DBMS are eligible to process the query;

determining how often each of the eligible specialized DBMS has processed a similarly structured query;

determining what data elements of a database are being referenced by the queries;

determining an estimated processing time of the query for each eligible specialized DBMS based on the data elements being referenced and how often the eligible specialized DBMS has processed similarly structured queries;

comparing, for each eligible specialized DBMS, a combination of a determined access speed including the estimated processing time of the eligible specialized DBMS and a time for transferring the query to the eligible specialized DBMS to an access speed of the general DBMS; and

assigning execution of the query to a faster of the eligible specialized DBMSs and the general DBMS based on the comparison.

13 . The computer system of claim 12 , wherein the at least one specialized processor and the at least one specialized DBMS are correlated such that each specialized DBMS in the at least one specialized DBMS includes a corresponding one of the at least one specialized processors.

14 . The computer system of claim 12 , wherein the at least one of the at least one specialized processors is independent of the at least one specialized DBMS.

15 . The computer system of claim 12 , wherein the first parallel process identifies sub queries within the query, identifies a source of the sub queries, and identifies a set of characteristics of the sub queries and compares the characteristics of the sub queries to capabilities of the at least one specialized processor.

16 . The computer system of claim 15 , wherein the characteristics include a read only status of the sub queries, an input/output (IO) intensity of the sub queries, a processing power requirement of the sub queries, and a presence of extensible markup language (XML) parsing in the sub queries.

17 . The computer system of claim 12 , further comprising executing the query using the faster of the eligible specialized DBMS.

18 . The computer system of claim 12 , wherein the at least one specialized processor comprises a plurality of specialized processors.

19 . The computer system of claim 12 , wherein the at least one specialized DBMS comprises a plurality of specialized DBMS.

20 . The computer system of claim 12 , wherein the query is a workload of query requests, and wherein the workload of query requests is considered as a single query.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 26, 2024
From: KAMESWARAN, SOWMYA; ZHAO, XU QIN; TAO, YE
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 069680/0932 →
Continuity (1)
Related Publication 20260187065A1 · Jul 2, 2026
References Cited (15)
US 6353818B1 · Carino, Jr. · 2002 [cited by examiner]
US 11403282B1 · Waas et al. · 2022 [cited by applicant]
US 11868359B2 · Saxena et al. · 2024 [cited by applicant]
US 11880365B2 · Raghavan et al. · 2024 [cited by applicant]
US 11907220B2 · Chakra et al. · 2024 [cited by applicant]
US 20030229652A1 · Bakalash · 2003 [cited by examiner]
US 20130117305A1 · Varakin · 2013 [cited by examiner]
US 20160140176A1 · Chamberlin et al. · 2016 [cited by applicant]
US 20170116288A1 · Alpers et al. · 2017 [cited by applicant]
US 20180075085A1 · Brodt · 2018 [cited by examiner]
US 20190325055A1 · Lee · 2019 [cited by examiner]
US 20190347342A1 · Kameswaran et al. · 2019 [cited by applicant]
US 20200081903A1 · Leach · 2020 [cited by examiner]
US 20220164351A1 · Chen · 2022 [cited by examiner]
US 20240037115A1 · Simanjuntak · 2024 [cited by examiner]