Query optimizer system for heterogenous database computing
AssigneeInternational Business Machines Corporation
InventorsSowmya Kameswaran, Xu Qin Zhao, Ye Tao
Life of this patent
Estimating the term…
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.
Claims20
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.
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.
Dependencies are inferred from the claim text.