TECHNICAL FIELD

The present disclosure generally relates to flexible computing, in particular autoscaling and throttling in an elastic cloud service of a database system.

BACKGROUND

As the world becomes more data driven, database systems and other data systems are storing more and more data. For a business to use this data, different operations or queries are typically run on this large amount of data. Some operations, for example those including large table scans or executing multiple queries, can take a substantial amount of time to execute on a large amount of data. The time to execute such operations can be proportional to the number of computing resources used for execution, so time can be shortened using more computing resources.

To this end, some data systems can provide a pool of computing resources, and those resources can be assigned to execute different operations. However, in such systems, the assigned computing resources typically work in conjunction, for example in a cluster group. Hence, their assignments are fixed and static. That is, a computing resource can remain assigned to an operation, which no longer needs that computing resource. The assignments of those computing resources cannot be easily modified in response to demand changes. Hence, the computing resources are not utilized to their full capacity.

Some systems can impose fixed per-instance, per-account, and per-user limits on the number of queries entering a single computing resource to limit unexpected or periodic workloads and protect the cluster. However, these limits can be unreliable: some workloads that have a low query cardinality can fall below static limits but can still cause load issues depending on their compilation patterns.

