IP Library › Granted Patent US 11,593,371
Granted Patent B2
US 11,593,371 · App. 16/996,547 · Granted Feb 28, 2023

Dynamically learning optimal cost profiles for heterogenous workloads

Inventors: Wellington Marcos Cabrera Arevalo (El Segundo, CA); Kassem Awada (Torrance, CA); Mahbub Hasan (Bellevue, WA); Allen N. Diaz (Santa Ana, CA); Mohammed Al-Kateb (Rancho Palos Verdes, CA); Awny Kayed Al-Omari (Cedar Park, TX)
Assignee: Teradata US, Inc.
G06F16/24542G06F16/252G06F16/284G06F17/16
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 11,593,371
App. No.
16/996,547
Granted
Feb 28, 2023
Kind
B2
Abstract

A relational database management system (RDBMS) accepts a workload comprised of one or more queries against a relational database. The RDBMS evolves a default cost profile into a plurality of cost profiles using fixed or dynamic evolution, wherein each of the cost profiles captures one or more cost parameters for the workload. The cost profiles are represented by a multi-dimensional matrix that has one or more dimensions, and each of the dimensions represents one of the cost parameters. The RDBMS dynamically determines which of the cost profiles is an optimal cost profile for the workload by mapping the cost profiles to the workload using a random walk scoring algorithm or a biased walk scoring algorithm that searches the multi-dimensional matrix to identify the optimal cost profile. The RDBMS selects and performs one or more query execution plans for the workload based on the optimal cost profile for the workload.

Claims (31)

1. A computer-implemented apparatus, comprising:

a computer system; and

a relational database management system (RDBMS) executed by the computer system, wherein:

the RDBMS accepts a workload comprised of one or more queries against a relational database;

the RDBMS evolves a default cost profile into a plurality of different cost profiles represented by a multi-dimensional matrix that has one or more dimensions using fixed or dynamic evolution, each of the plurality of different cost profiles capturing one or more cost parameters for the workload, and each of the dimensions of the multi-dimensional matrix representing one of the cost parameters;

the RDBMS dynamically determines which of the plurality of different cost profiles represented by the multi-dimensional matrix is an optimal cost profile for the workload by mapping the plurality of different cost profiles to the workload using a scoring algorithm that searches the multi-dimensional matrix for the optimal cost profile for the workload; and

the RDBMS selects and performs one or more query execution plans for the workload based on the optimal cost profile for the workload.

2. The apparatus of claim 1 , wherein the RDBMS evolves the default cost profile into the plurality of different cost profiles using fixed evolution, by generating one or more of the plurality of different cost profiles that increment in steps in a range between minimum and maximum values of one of the cost parameters.

3. The apparatus of claim 1 , wherein the RDBMS evolves the default cost profile into the plurality of different cost profiles using dynamic evolution, by generating one or more of the plurality of different cost profiles that re-measure a value of one of the cost parameters.

4. The apparatus of claim 1 , wherein the plurality of different cost profiles are mapped to the workload using a random walk scoring algorithm that searches the multi-dimensional matrix to identify the optimal cost profile for the workload.

5. The apparatus of claim 1 , wherein the plurality of different cost profiles are mapped to the workload using a biased walk scoring algorithm that searches the multi-dimensional matrix to identify the optimal cost profile for the workload.

6. A computer-implemented method, comprising:

executing, in a computer system, a relational database management system (RDBMS), wherein:

the RDBMS accepts a workload comprised of one or more queries against a relational database;

the RDBMS evolves a default cost profile into a plurality of different cost profiles represented by a multi-dimensional matrix that has one or more dimensions using fixed or dynamic evolution, each of the plurality of different cost profiles capturing one or more cost parameters for the workload, and each of the dimensions of the multi-dimensional matrix representing one of the cost parameters;

the RDBMS dynamically determines which of the plurality of different cost profiles represented by the multi-dimensional matrix is an optimal cost profile for the workload by mapping the plurality of different cost profiles to the workload using a scoring algorithm that searches the multi-dimensional matrix for the optimal cost profile for the workload; and

the RDBMS selects and performs one or more query execution plans for the workload based on the optimal cost profile for the workload.

7. The method of claim 6 , wherein the RDBMS evolves the default cost profile into the plurality of different cost profiles using fixed evolution, by generating one or more of the plurality of different cost profiles that increment in steps in a range between minimum and maximum values of one of the cost parameters.

8. The method of claim 6 , wherein the RDBMS evolves the default cost profile into the plurality of different cost profiles using dynamic evolution, by generating one or more of the plurality of different cost profiles that re-measure a value of one of the cost parameters.

9. The method of claim 6 , wherein the plurality of different cost profiles are mapped to the workload using a random walk scoring algorithm that searches the multi-dimensional matrix to identify the optimal cost profile for the workload.

10. The method of claim 6 , wherein the plurality of different cost profiles are mapped to the workload using a biased walk scoring algorithm that searches the multi-dimensional matrix to identify the optimal cost profile for the workload.

11. A computer program product, the computer program product comprising a non-transitory computer readable storage medium having program instructions embodied therewith, the program instructions executable by a computer system to cause the computer system to perform a method, comprising:

executing a relational database management system (RDBMS) in the computer system, wherein:

the RDBMS accepts a workload comprised of one or more queries against a relational database;

the RDBMS evolves a default cost profile into a plurality of different cost profiles represented by a multi-dimensional matrix that has one or more dimensions using fixed or dynamic evolution, each of the plurality of different cost profiles capturing one or more cost parameters for the workload, and each of the dimensions of the multi-dimensional matrix representing one of the cost parameters;

the RDBMS dynamically determines which of the plurality of different cost profiles represented by the multi-dimensional matrix is an optimal cost profile for the workload by mapping the plurality of different cost profiles to the workload using a scoring algorithm that searches the multi-dimensional matrix for the optimal cost profile for the workload; and

the RDBMS selects and performs one or more query execution plans for the workload based on the optimal cost profile for the workload.

12. The computer program product of claim 11 , wherein the RDBMS evolves the default cost profile into the plurality of different cost profiles using fixed evolution, by generating one or more of the plurality of different cost profiles that increment in steps in a range between minimum and maximum values of one of the cost parameters.

13. The computer program product of claim 11 , wherein the RDBMS evolves the default cost profile into the plurality of different cost profiles using dynamic evolution, by generating one or more of the plurality of different cost profiles that re-measure a value of one of the cost parameters.

14. The computer program product of claim 11 , wherein the plurality of different cost profiles are mapped to the workload using a random walk scoring algorithm that searches the multi-dimensional matrix to identify the optimal cost profile for the workload.

15. The computer program product of claim 11 , wherein the plurality of different cost profiles are mapped to the workload using a biased walk scoring algorithm that searches the multi-dimensional matrix to identify the optimal cost profile for the workload.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 18, 2020
From: CABRERA AREVALO, WELLINGTON MARCOS; AWADA, KASSEM; HASAN, MAHBUB; DIAZ, ALLEN N.; AL-KATEB, MOHAMMED; AL-OMARI, AWNY KAYED
To: TERADATA US, INC.
Reel/Frame 053533/0265 →
Continuity (2)
Provisional Application 62924062 · Oct 21, 2019
Related Publication 20210117422A1 · Apr 22, 2021