Auto-mated price performance offers for cloud database systems
In a cloud database system, a system and method for analyzing query workloads on installed customer systems and generating tiered offers promoting higher query execution speeds in the form of better response times for a selected portion of queries in exchange for a higher price. Upon selecting an offer, the cloud database system is automatically configured to include additional compute resources as required to execute future instances of the selected queries to take advantage of the performance improvements provided with the selected offer.
1 . A database system comprising:
a primary cluster comprising at least one compute node, said compute node including a processor and a non-transitory storage medium containing instructions executable on said processor for executing a database management system (DBMS);
at least one additional compute cluster comprising at least one compute node;
the DBMS receiving a database query from a customer, wherein the database query comprises a DBMS action to be executed using at least one of said primary and additional compute clusters;
the DBMS determining multiple configurations of primary and additional compute clusters for executing said database query, each one of said configurations providing a different quantity of compute nodes and different parallel arrangement of said compute nodes,
said configurations and performance metrics and costs associated with said configurations determined by said DBMS comparing said received database query with previously presented database queries, said DBMS determining performance metrics and costs for said previously presented database queries by executing said previously presented database queries on an emulated system of compute nodes and different parallel arrangements of said emulated system of compute nodes;
the DBMS presenting said multiple configurations and compute performances and costs associated with said configurations to said customer;
the DBMS automatically configuring said primary and additional compute clusters in accordance with a configuration selected from said multiple configurations by said customer; and
the DBMS executing said database query using the configuration of primary and additional compute clusters corresponding to the configuration selected by said customer.
2 . The database system according to claim 1 , wherein said multiple configurations include configurations including different quantities of additional compute clusters.
3 . The database system according to claim 1 , wherein said multiple configurations include configurations including additional compute clusters having differing quantities of compute nodes.
4 . The database system according to claim 1 , wherein said multiple configurations are determined by evaluating database query execution performance on an installed customer system with varying primary and compute cluster arrangements.
5 . The database system according to claim 1 , further comprising an object storage accessible by both the primary cluster and additional compute clusters.
6 . The database system according to claim 5 , wherein:
said object storage is a cloud object storage; and
said primary cluster, additional compute clusters, and said cloud storage are connected through a cloud native architecture.
7 . A computer-implemented method, comprising:
executing a database management system (DBMS) in a database system, wherein the database system comprises a primary cluster comprising at least one compute node, said compute node including a processor and a non-transitory storage medium containing instructions executable on said processor for executing said DBMS, and at least one additional compute cluster comprising at least one compute node;
receiving by said DBMS a database query from a customer, wherein the database query is a DBMS action to be executed using at least one of said primary and additional compute clusters;
determining by said DBMS multiple configurations of primary and additional compute clusters for executing said database query, each one of said configurations providing a different quantity of compute nodes and different parallel arrangement of said compute nodes,
said configurations and performance metrics and costs associated with said configurations determined by said DBMS comparing said received database query with previously presented database queries, said DBMS determining performance metrics and costs for said previously presented database queries by executing said previously presented database queries on an emulated system of compute nodes and different parallel arrangements of said emulated system of compute nodes;
presenting said multiple configurations and compute performances and costs associated with said multiple configurations to said customer;
automatically configuring by said DBMS said primary and additional compute clusters in accordance with a configuration selected by said customer; and
executing said database query using the configuration of primary and additional compute clusters corresponding to the offer configuration selected by said customer.
8 . The method of claim 7 , wherein said multiple configurations include configurations including different quantities of additional compute clusters.
9 . The method of claim 7 , wherein said multiple configurations include configurations including additional compute clusters having differing quantities of compute nodes.
10 . The method of claim 7 , wherein said multiple configurations are determined by evaluating database query execution performance on an installed customer system with varying primary and compute cluster arrangements.
11 . The method of claim 7 , said database system further comprises an object storage accessible by both the primary cluster and additional compute clusters.
12 . The method of claim 11 , wherein:
said object storage is a cloud object storage; and
said primary cluster, additional compute clusters, and said cloud storage are connected through a cloud native architecture.