System and method for diminishing workload imbalance across multiple database systems
First Claim
1. A system, comprising:
- one or more computers comprising one or more memories and one or more processors, wherein the one or more memories comprise program instructions executable by the one or more computers to implement a resource balancer configured to;
for a given multi-tenant database system of a plurality of database systems hosting databases that are each assigned to a particular user entity of different user entities;
generate a database operational usage score for each individual database of multiple databases hosted by the given multi-tenant database system, wherein;
each individual database of the multiple databases comprises a particular defined data set to which the given multi-tenant database system restricts access among the different user entities to the particular user entity to which the individual database is assigned, and at least some of the multiple databases are each assigned to a different particular user entity of the different user entities; and
the database operational usage score for each individual database of the multiple databases is determined based on applying a usage scoring model to one or more requests directed to the individual database, wherein the usage scoring model estimates a quantity of work required to be performed by the given multi-tenant database system to process request types of the one or more requests directed to the individual database of the multiple databases; and
generate a first system usage score for the given multi-tenant database system based on aggregating the multiple database operational usage scores generated for the multiple databases hosted by the given multi-tenant database system; and
generate one or more instructions to move at least one of the multiple databases from the given multi-tenant database system having the first system usage score to a second multi-tenant database system having a second system usage score that is less than the first system usage score in order to diminish an imbalance of workload across the plurality of multi-tenant database systems, wherein for each individual database of the at least one of the multiple databases, the second multi-tenant database system restricts access, to the particular defined data set of the individual database, among the different user entities to the particular user entity to which the individual database is assigned.
1 Assignment
0 Petitions
Accused Products
Abstract
Various embodiments of a system and method for diminishing workload imbalance across multiple database systems are described. Embodiments may include a resource balancer configured to, for each of a multiple database systems hosting database resources assigned to different user entities, generate a system usage score for that database system based on database usage scores of respective database resources hosted by that database system. Each usage score of a given database resource may indicate a quantity of work performed by the respective database system to process one or more requests directed to that database resource. The resource balancer may also be configured to generate one or more instructions to move a database resource from a first database system having a first system usage score to a second database system having a smaller system usage score in order to diminish an imbalance of workload across the database systems.
73 Citations
36 Claims
-
1. A system, comprising:
one or more computers comprising one or more memories and one or more processors, wherein the one or more memories comprise program instructions executable by the one or more computers to implement a resource balancer configured to; for a given multi-tenant database system of a plurality of database systems hosting databases that are each assigned to a particular user entity of different user entities; generate a database operational usage score for each individual database of multiple databases hosted by the given multi-tenant database system, wherein; each individual database of the multiple databases comprises a particular defined data set to which the given multi-tenant database system restricts access among the different user entities to the particular user entity to which the individual database is assigned, and at least some of the multiple databases are each assigned to a different particular user entity of the different user entities; and the database operational usage score for each individual database of the multiple databases is determined based on applying a usage scoring model to one or more requests directed to the individual database, wherein the usage scoring model estimates a quantity of work required to be performed by the given multi-tenant database system to process request types of the one or more requests directed to the individual database of the multiple databases; and generate a first system usage score for the given multi-tenant database system based on aggregating the multiple database operational usage scores generated for the multiple databases hosted by the given multi-tenant database system; and generate one or more instructions to move at least one of the multiple databases from the given multi-tenant database system having the first system usage score to a second multi-tenant database system having a second system usage score that is less than the first system usage score in order to diminish an imbalance of workload across the plurality of multi-tenant database systems, wherein for each individual database of the at least one of the multiple databases, the second multi-tenant database system restricts access, to the particular defined data set of the individual database, among the different user entities to the particular user entity to which the individual database is assigned. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
-
13. A computer-implemented method, comprising:
-
for a given multi-tenant database system of a plurality of database systems hosting databases that are each assigned to a particular user entity of different user entities; generating a database operational usage score for each individual database of multiple databases hosted by the given multi-tenant database system, wherein; each individual database of the multiple databases comprises a particular defined data set to which the given multi-tenant database system restricts access among the different user entities to the particular user entity to which the individual database is assigned, and at least some of the multiple databases are each assigned to a different particular user entity of the different user entities; and the database operational usage score for each individual database of the multiple databases is determined based on applying a usage scoring model to one or more requests directed to the individual database, wherein the usage scoring model estimates a quantity of work required to be performed by the given multi-tenant database system to process request types of the one or more requests directed to the individual database of the multiple databases; and generating a first system usage score for the given multi-tenant database system based on aggregating the multiple database operational usage scores generated for the multiple databases hosted by the given multi-tenant database system; and generating one or more instructions to move at least one of the multiple databases from the given multi-tenant database system having the first system usage score to a second multi-tenant database system having a second system usage score that is less than the first system usage score in order to diminish an imbalance of workload across the plurality of multi-tenant database systems, wherein for each individual database of the at least one of the multiple databases, the second multi-tenant database system restricts access, to the particular defined data set of the individual database, among the different user entities to the particular user entity to which the individual database is assigned. - View Dependent Claims (14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24)
-
-
25. A computer-readable storage medium, storing program instructions computer-executable on a computer system to implement a resource balancer configured to:
-
for a given multi-tenant database system of a plurality of database systems hosting databases that are each assigned to a particular user entity of different user entities; generate a database operational usage score for each individual database of multiple databases hosted by the given multi-tenant database system, wherein; each individual database of the multiple databases comprises a particular defined data set to which the given multi-tenant database system restricts access among the different user entities to the particular user entity to which the individual database is assigned, and at least some of the multiple databases are each assigned to a different particular user entity of the different user entities; and the database operational usage score for each individual database of the multiple databases is determined based on applying a usage scoring model to one or more requests directed to the individual database, wherein the usage scoring model estimates a quantity of work required to be performed by the given multi-tenant database system to process request types of the one or more requests directed to the individual database of the multiple databases; and generate a first system usage score for the given multi-tenant database system based on aggregating the multiple database operational usage scores generated for the multiple databases hosted by the given multi-tenant database system; and generate one or more instructions to move at least one of the multiple databases from the given multi-tenant database system having the first system usage score to a second multi-tenant database system having a second system usage score that is less than the first system usage score in order to diminish an imbalance of workload across the plurality of multi-tenant database systems, wherein for each individual database of the at least one of the multiple databases, the second multi-tenant database system restricts access, to the particular defined data set of the individual database, among the different user entities to the particular user entity to which the individual database is assigned. - View Dependent Claims (26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36)
-
Specification