Autonomous database management system
A database management system receives a user request for provisioning a database, autonomously selects a datacenter for provisioning the database based at least on a first pre-defined rule, autonomously selects at least one cluster in the datacenter based at least on a second pre-defined rule, determines a network location of each of the at least one cluster, and provisions the database on each of the at least one cluster using the network location of each of the at least one cluster.
1 . A method comprising:
receiving, by a processor of a database management system, a user request for provisioning a database;
receiving, by the processor, one or more user inputs after receiving the user request; and
in response to the one or more user inputs:
autonomously selecting, by the processor, a datacenter for provisioning the database based at least on a first pre-defined rule and the one or more user inputs;
autonomously selecting, by the processor, a host location in the datacenter based at least on a second pre-defined rule and the one or more user inputs without further user input identifying the host location;
autonomously provisioning, by the processor, the database at the host location;
executing, by the processor, a machine-learning model using as input size data of the provisioned database to generate a predicted database size;
comparing the predicted database size to an amount of available space on the host location;
determining the predicted database size exceeds a predetermined threshold relative to the amount of available space on the host location;
in response to the predicted database size exceeding the predetermined threshold relative to the amount of available space on the host location, autonomously determining, by the processor, a new host location for the database based on ranked database criteria including database size; and
autonomously provisioning, by the processor, the database at the new host location.
2 . The method of claim 1 , wherein the datacenter that is selected is part of an on-premise environment.
3 . The method of claim 1 , wherein the datacenter that is selected is part of a cloud environment.
4 . The method of claim 1 , wherein the one or more user inputs are indicative of a first region of where the database is to be provisioned, and wherein the method further comprises selecting, by the processor, the datacenter that is located in, or closest to, the region.
5 . The method of claim 1 , wherein the one or more user inputs are indicative of a first region of where the database is to be provisioned, and wherein the method further comprises:
identifying, by the processor, a second region from the first pre-defined rule; and
selecting, by the processor, the datacenter located in (a) the first region upon determining that the second region encompasses the first region; or (b) the second region upon determining that the second region does not encompass the first region.
6 . The method of claim 1 , further comprising selecting, by the processor, the host location based on a criteria applied to the second pre-defined rule and the one or more user inputs.
7 . The method of claim 6 , wherein the criteria comprises at least one of a size of the database or a database engine type desired for the database.
8 . The method of claim 6 , wherein the criteria comprises a database engine type, wherein the one or more user inputs are indicative of a first database engine type for the database, and wherein the method further comprises:
identifying, by the processor, a second database engine type from the second pre-defined rule; and
selecting, by the processor, the host location that is suitable for (a) the first database engine type upon determining that the first database engine type is same as the second database engine type; or (b) the second database engine type upon determining that the first database engine type is different from the second database engine type.
9 . The method of claim 6 , wherein the criteria comprises a size of the database, wherein the one or more user inputs are indicative of a first size of the database, and wherein the method further comprises:
identifying, by the processor, a second size of the database from the second pre-defined rule; and
selecting, by the processor, the host location that (a) has an amount of available space for provisioning the database of the first size upon determining that the second size encompasses the first size; or (b) has an amount of available space for provisioning the database of the second size upon determining that the second size does not encompass the first size.
10 . The method of claim 1 , further comprising determining, by the processor, a number of host locations including the host location on which to provision the database based at least on a third pre-defined rule.
11 . The method of claim 1 , further comprising:
automatically monitoring, by the processor, a usage pattern of the database on the host location upon provisioning; and
taking action, by the processor, based upon the usage pattern.
12 . The method of claim 11 , wherein the action comprises adding additional storage to the host location or moving the database to another host location.
13 . The method of claim 11 , wherein taking action comprises:
identifying, by the processor, another host location for the database based on a criteria; and
migrating, by the processor, the database to the another host location.
14 . The method of claim 1 , further comprising:
predicting, by the processor, a usage pattern of the database on the host location based on a historical usage pattern; and
taking action, by the processor, based on the predicted usage pattern.
15 . The method of claim 14 , wherein taking action comprises:
identifying, by the processor, another host location for the database based on a criteria; and
migrating, by the processor, the database to the another host location.
16 . The method of claim 1 , wherein the host location is at least one cluster.
17 . A system comprising:
a memory having computer-readable instructions stored thereon; and
a processor of a database management system executing the computer-readable instructions to:
receive a user request to provision a database;
receive one or more user inputs after receiving the user request; and
in response to the one or more user inputs;
autonomously select a datacenter to provision the database based at least on a first pre-defined rule and the one or more user inputs;
autonomously select a host location in the datacenter based at least on a second pre-defined rule and the one or more user inputs without further user input identifying the host location;
autonomously provision the database at the host location;
execute a machine-learning model using as input size data of the provisioned database to generate a predicted database size;
compare the predicted database size to an amount of available space on the host location;
determine the predicted database size exceeds a predetermined threshold relative to the amount of available space on the host location;
in response to the predicted database size exceeding the predetermined threshold relative to the amount of available space on the host location, autonomously determine a new host location for the database based on ranked database criteria including database size; and
autonomously provision the database at the new host location.
18 . The system of claim 17 , wherein the datacenter is part of an on-premise environment.
19 . The system of claim 17 , wherein the datacenter is part of a cloud environment.
20 . The system of claim 17 , wherein the one or more user inputs are indicative of a first region where the database is to be provisioned, and wherein the processor further executes computer-readable instructions to select the datacenter that is located in, or closest to, the region.
21 . The system of claim 17 , wherein the one or more user inputs are indicative of a first region where the database is to be provisioned, and wherein the processor further executes computer-readable instructions to:
identify a second region from the first pre-defined rule; and
select the datacenter located in (a) the first region upon determining that the second region encompasses the first region; or (b) the second region upon determining that the second region does not encompass the first region.
22 . The system of claim 17 , wherein the processor further executes computer-readable instructions to select the host location based on a criteria applied to the second pre-defined rule and the one or more user inputs.
23 . The system of claim 22 , wherein the criteria comprises at least one of a size of the database or a database engine type desired for the database.
24 . The system of claim 22 , wherein the criteria comprises a database engine type, wherein the one or more user inputs are indicative of a first database engine type for the database, and wherein the processor further executes computer-readable instructions to:
identify a second database engine type from the second pre-defined rule; and
select the host location that is suitable for (a) the first database engine type upon determining that the first database engine type is same as the second database engine type; or (b) the second database engine type upon determining that the first database engine type is different from the second database engine type.
25 . The system of claim 22 , wherein the criteria comprises a size of the database, wherein the one or more user inputs are indicative of a first size of the database, and wherein the processor further executes computer-readable instructions to:
identify a second size of the database from the second pre-defined rule; and
select the host location that (a) has an amount of available space for provisioning the database of the first size upon determining that the second size encompasses the first size; or (b) has an amount of available space for provisioning the database of the second size upon determining that the second size does not encompass the first size.
26 . The system of claim 17 , wherein the processor further executes computer-readable instructions to determine the host location on which to provision the database based at least on a third pre-defined rule.
27 . The system of claim 17 , wherein the processor further executes computer-readable instructions to:
automatically monitor a usage pattern of the database on the host location upon provisioning; and
take action based upon the usage pattern.
28 . The system of claim 27 , wherein the action comprises adding additional storage to the host location or moving the database to another host location.
29 . The system of claim 27 , wherein to take action, the processor further executes computer-readable instructions to:
identify another host location for the database based on a criteria; and
migrate the database to the another host location.
30 . The system of claim 17 , wherein the processor further executes computer-readable instructions to:
predict a usage pattern of the database on the host location based on a historical usage pattern; and
take action based on the predicted usage pattern.
31 . The system of claim 30 , wherein to take action, the processor further executes computer-readable instructions to:
identify another host location for the database based on a criteria; and
migrate the database to the another host location.
32 . The system of claim 17 , wherein the host location is at least one cluster.
33 . A non-transitory computer-readable medium comprising computer-readable instructions stored thereon that when executed by a processor of a database management system cause the processor to:
receive a user request to provision a database;
receive one or more user inputs after receiving the user request; and
in response to the one or more user inputs:
autonomously select a datacenter to provision the database based at least on a first pre-defined rule and the one or more user inputs;
autonomously select a host location in the datacenter based at least on a second pre-defined rule and the one or more user inputs without further user input identifying the host location;
autonomously provision the database at the host location;
execute a machine-learning model using as input size data of the provisioned database to generate a predicted database size;
compare the predicted database size to an amount of available space on the host location;
determine the predicted database size exceeds a predetermined threshold relative to the amount of available space on the host location;
in response to the predicted database size exceeding the predetermined threshold relative to the amount of available space on the host location, autonomously determine a new host location for the database based on ranked database criteria including database size; and
autonomously provision the database at the new host location.
34 . The non-transitory computer-readable medium of claim 33 , wherein the datacenter is part of an on-premise environment.
35 . The non-transitory computer-readable medium of claim 33 , wherein the datacenter is part of a cloud environment.
36 . The non-transitory computer-readable medium of claim 33 , wherein the one or more user inputs are indicative of a first region where the database is to be provisioned, and wherein the processor further executes computer-readable instructions to select the datacenter that is located in, or closest to, the region.
37 . The non-transitory computer-readable medium of claim 33 , wherein the one or more user inputs are indicative of a first region where the database is to be provisioned, and wherein the processor further executes computer-readable instructions to:
identify a second region from the first pre-defined rule; and
select the datacenter located in (a) the first region upon determining that the second region encompasses the first region; or (b) the second region upon determining that the second region does not encompass the first region.
38 . The non-transitory computer-readable medium of claim 33 , wherein the processor further executes computer-readable instructions to select the host location based on a criteria applied to the second pre-defined rule and the one or more user inputs.
39 . The non-transitory computer-readable medium of claim 38 , wherein the criteria comprises at least one of a size of the database or a database engine type desired for the database.
40 . The non-transitory computer-readable medium of claim 38 , wherein the criteria comprises a database engine type, wherein the one or more user inputs are indicative of a first database engine type for the database, and wherein the processor further executes computer-readable instructions to:
identify a second database engine type from the second pre-defined rule; and
select the host location that is suitable for (a) the first database engine type upon determining that the first database engine type is same as the second database engine type; or (b) the second database engine type upon determining that the first database engine type is different from the second database engine type.
41 . The non-transitory computer-readable medium of claim 38 , wherein the criteria comprises a size of the database, wherein the one or more user inputs are indicative of a first size of the database, and wherein the processor further executes computer-readable instructions to:
identify a second size of the database from the second pre-defined rule; and
select the host location that (a) has an amount of available space for provisioning the database of the first size upon determining that the second size encompasses the first size; or (b) has an amount of available space for provisioning the database of the second size upon determining that the second size does not encompass the first size.
42 . The non-transitory computer-readable medium of claim 33 , wherein the processor further executes computer-readable instructions to determine the host location on which to provision the database based at least on a third pre-defined rule.
43 . The non-transitory computer-readable medium of claim 33 , wherein the processor further executes computer-readable instructions to:
automatically monitor a usage pattern of the database on the host location upon provisioning; and
take action based upon the usage pattern.
44 . The non-transitory computer-readable medium of claim 43 , wherein to take action, the processor further executes computer-readable instructions to:
identify another host location for the database based on a criteria; and
migrate the database to the another host location.
45 . The non-transitory computer-readable medium of claim 33 , wherein the action comprises adding additional storage to the host location or moving the database to another host location.
46 . The non-transitory computer-readable medium of claim 33 , wherein the processor further executes computer-readable instructions to:
predict a usage pattern of the database on the host location based on a historical usage pattern; and
take action based on the predicted usage pattern.
47 . The non-transitory computer-readable medium of claim 46 , wherein to take action, the processor further executes computer-readable instructions to:
identify another host location for the database based on a criteria; and
migrate the database to the another host location.
48 . The non-transitory computer-readable medium of claim 33 , wherein the host location is at least one cluster.