Automatic demand-driven resource scaling for relational database-as-a-service
First Claim
1. A database-as-a-service system, comprising:
- an auto-scaling module configured to;
automatically compute container sizes of containers in database servers for subsequent billing intervals based on telemetry from the database servers, wherein the container sizes are based on a fixed capacity of resources within a container, wherein the telemetry comprises an available budget for a billing interval, resource utilization, and, for each request for a resource in the container, a time spent waiting for the resource as a percentage of total waits for all resources in the container for an interval of time; and
automatically scale the container sizes of the containers for a subsequent billing interval on behalf of a tenant based on the telemetry; and
at least one hardware processor configured to execute computer-executable instructions in a memory, the instructions executed to enable the auto-scaling module.
2 Assignments
0 Petitions
Accused Products
Abstract
Architecture that enables a Database-as-a-Service (DaaS) to auto-scale container sizes on behalf of tenants. An abstraction is provided that enables tenants to reason about monetary budget and query latency, rather than resource provisioning. An auto-scaling module automatically determines a container size for a subsequent billing interval based on telemetry that comprises latencies (e.g., waits), resource utilizations, and available budget, for example. A set of robust signals are derived from database engine telemetry and combined to significantly improve accuracy of resource demand estimation for database workloads. In a more specific implementation, resource demands can be estimated for arbitrary SQL (structured query language) workloads in a relational database management system (RDBMS).
-
Citations
20 Claims
-
1. A database-as-a-service system, comprising:
- an auto-scaling module configured to;
automatically compute container sizes of containers in database servers for subsequent billing intervals based on telemetry from the database servers, wherein the container sizes are based on a fixed capacity of resources within a container, wherein the telemetry comprises an available budget for a billing interval, resource utilization, and, for each request for a resource in the container, a time spent waiting for the resource as a percentage of total waits for all resources in the container for an interval of time; and automatically scale the container sizes of the containers for a subsequent billing interval on behalf of a tenant based on the telemetry; and at least one hardware processor configured to execute computer-executable instructions in a memory, the instructions executed to enable the auto-scaling module. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
- an auto-scaling module configured to;
-
9. A database-as-a-service method comprising:
-
estimating resource demands of one or more containers for databases based on production telemetry, wherein the production telemetry comprises an available budget for a billing interval, resource utilization, and, for each request for a resource in the one or more containers, a time spent waiting for the resource as a percentage of total waits for all resources in the one or more containers for an interval of time; and automatically scaling container sizes of the one or more containers for a subsequent billing interval on behalf of a tenant based on changes in the estimated resource demands, wherein the container sizes are based on a fixed capacity of resources within a container. - View Dependent Claims (10, 11, 12, 13, 14, 15)
-
-
16. A database-as-a-service method, comprising acts of:
-
collecting telemetry of database servers, wherein the database servers host containers for corresponding tenant databases, the containers each having corresponding container sizes, wherein the telemetry comprises an available budget for a billing interval, resource utilization, and, for each request for a resource in the containers, a time spent waiting for the resource as a percentage of total waits for all resources in the containers for an interval of time; estimating resource demands of the containers based on processing of the telemetry; and automatically scaling the container sizes for a subsequent billing interval in correlation with changes in the estimated resource demands, wherein the container sizes are based on a fixed capacity of resources within a container. - View Dependent Claims (17, 18, 19, 20)
-
Specification