You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
title: Frequently asked questions about throughput in Azure Cosmos DB autopilot mode
3
-
description: Frequently asked questions about autopilot mode for Azure Cosmos DB databases and containers
2
+
title: Frequently asked questions on autoscale mode in Azure Cosmos DB
3
+
description: Frequently asked questions about autoscale provisioned throughput for Azure Cosmos DB databases and containers
4
4
author: deborahc
5
5
ms.author: dech
6
6
ms.service: cosmos-db
7
7
ms.topic: conceptual
8
-
ms.date: 12/16/2019
8
+
ms.date: 04/28/2020
9
9
---
10
10
11
-
# Frequently asked questions about provisioned throughput in Azure Cosmos DB autopilot mode (Preview)
12
-
With autopilot mode, Azure Cosmos DB will automatically manage and scale the RU/s of your container or database based on usage. This article answers commonly asked questions about autopilot mode.
11
+
# Frequently asked questions about autoscale provisioned throughput in Azure Cosmos DB
12
+
13
+
With provisioned throughput in autoscale mode, Azure Cosmos DB will automatically manage and scale the RU/s of your container or database based on usage. This article answers commonly asked questions about autoscale.
13
14
14
15
## Frequently asked questions
15
16
16
-
### Is autopilot mode supported for all APIs?
17
-
Yes, autopilot mode is supported for all APIs: Core (SQL), Gremlin, Table, Cassandra, and API for MongoDB.
17
+
### Is autoscale mode supported for all APIs?
18
+
Yes, autoscale mode is supported for all APIs: Core (SQL), Gremlin, Table, Cassandra, and API for MongoDB.
18
19
19
-
### Is autopilot mode supported for multi-master accounts?
20
-
Yes, autopilot mode is supported for multi-master accounts. The max RU/s are available in each region that is added to the Cosmos account.
20
+
### Is autoscale mode supported for multi-master accounts?
21
+
Yes, autoscale mode is supported for multi-master accounts. The max RU/s are available in each region that is added to the Cosmos account.
21
22
22
-
### What is the pricing for autopilot?
23
+
### What is the pricing for autoscale?
23
24
Refer to the Azure Cosmos DB [pricing page](https://azure.microsoft.com/pricing/details/cosmos-db/) for details.
24
25
25
-
### How do I enable autopilot for my containers or databases?
26
-
Autopilot mode can be enabled on new containers and databases created using the Azure portal.
26
+
### How do I enable autoscale for my containers or databases?
27
+
Autoscale mode can be enabled on new containers and databases created using the Azure portal.
27
28
28
-
### Is there CLI or SDK support to create containers or databases with autopilot mode?
29
-
Currently, in the preview release, you can only create resources with autopilot mode from the Azure portal. Support for CLI and SDK is not yet available.
29
+
### Is there CLI or SDK support to create containers or databases with autoscale mode?
30
+
Currently, you can only create resources with autoscale mode from the Azure portal. Support for CLI and SDK is not yet available.
30
31
31
-
### Can I enable autopilot on an existing container or a database?
32
-
Currently, you can enable autopilot on new containers and databases when creating them. Support to enable autopilot mode on existing containers and databases is not yet available. You can migrate existing containers to a new container using [Azure Data Factory](../data-factory/connector-azure-cosmos-db.md) or [change feed](change-feed.md).
32
+
### Can I enable autoscale on an existing container or a database?
33
+
Currently, you can enable autoscale on new containers and databases when creating them. Support to enable autoscale mode on existing containers and databases is not yet available. You can migrate existing containers to a new container using [Azure Data Factory](../data-factory/connector-azure-cosmos-db.md) or [change feed](change-feed.md).
33
34
34
-
### Can I turn off autopilot mode on a container or database?
35
-
Yes, you can turn off autopilot by switching to the 'Manual' option for the provisioned throughput. In the preview release, after switching from autopilot mode to manual mode, you cannot enable autopilot again for the same resource.
35
+
### Can I turn off autoscale mode on a container or database?
36
+
Yes, you can turn off autoscale by switching to the 'Manual' option for the provisioned throughput. In the current release, after switching from autoscale mode to manual mode, you cannot enable autoscale again for the same resource.
36
37
37
-
### Is autopilot mode supported for shared throughput databases?
38
-
Yes, autopilot mode is supported for shared throughput databases. To enable this feature, select autopilot mode and the **Provision throughput** option when creating the database.
38
+
### Is autoscale mode supported for shared throughput databases?
39
+
Yes, autoscale mode is supported for shared throughput databases. To enable this feature, select autoscale mode and the **Provision throughput** option when creating the database.
39
40
40
-
### What is the number of allowed collections per shared throughput database when autopilot is enabled?
41
-
For shared throughput databases with autopilot mode enabled, the number of allowed collections is: MIN(25, Max RU/s of database / 1000). For example, if the max throughput of the database is 20,000 RU/s, the database can have MIN(25, 20,000 RU/s / 1000) = 20 collections.
41
+
### What is the number of allowed collections per shared throughput database when autoscale is enabled?
42
+
For shared throughput databases with autoscale mode enabled, the number of allowed collections is: MIN(25, Max RU/s of database / 1000). For example, if the max throughput of the database is 20,000 RU/s, the database can have MIN(25, 20,000 RU/s / 1000) = 20 collections.
42
43
43
44
44
45
### What is the storage limit associated with each max RU/s option?
45
46
The storage limit in GB for each max RU/s is: Max RU/s of database or container / 100. For example, if the max RU/s is 20,000 RU/s, the resource can support 200 GB of storage.
46
-
See the [autopilot limits](provision-throughput-autopilot.md#autopilot-limits) article for the available max RU/s and storage options.
47
+
See the [autoscale limits](provision-throughput-autoscale.md#autoscale-limits) article for the available max RU/s and storage options.
47
48
48
49
### What happens if I exceed the storage limit associated with my max throughput?
49
50
If the storage limit associated with the max throughput of the database or container is exceeded, Azure Cosmos DB will automatically increase the max throughput to the next highest tier that can support that level of storage. For example, suppose a database or container is provisioned with the 4000 RU/s max throughput option, which has a storage limit of 50 GB. If the storage of the resource increases to 100 GB, the max RU/s of the database or container will be automatically increased to 20,000 RU/s, which can support up to 200 GB.
50
51
51
-
### How quickly will autopilot scale up and down based on spikes in traffic?
52
-
Autopilot will instantaneously scale up or scale down the RU/s within the minimum and maximum RU/s range, based on incoming traffic. Billing is done at a 1-hour granularity, where you are charged for the highest RU/s in a particular hour.
52
+
### How quickly will autoscale up and down based on spikes in traffic?
53
+
In autoscale mode, you can instantaneously scale up or scale down the RU/s within the minimum and maximum RU/s range, based on incoming traffic. Billing is done at a 1-hour granularity, where you are charged for the highest RU/s in a particular hour.
53
54
54
-
### Can I specify a custom max throughput (RU/s) value for autopilot mode?
55
-
Currently, during the preview release, you can select between [four options](provision-throughput-autopilot.md#autopilot-limits) for max throughput (RU/s).
55
+
### Can I specify a custom max throughput (RU/s) value for autoscale mode?
56
+
Currently, you can select between [four options](provision-throughput-autoscale.md#autoscale-limits) for max throughput (RU/s).
56
57
57
58
### Can I increase the max RU/s (move to a higher tier) on the database or container?
58
-
Yes. From the **Scale & Settings** option for your container, or **Scale** option for your database, you can select a higher max RU/s for autopilot. This is an asynchronous scale-up operation that may take sometime to complete (typically 4-6 hours, depending on the RU/s selected) as the service provisions more resources to support the higher scale.
59
+
Yes. From the **Scale & Settings** option for your container, or **Scale** option for your database, you can select a higher max RU/s for autoscale mode. This is an asynchronous scale-up operation that may take sometime to complete (typically 4-6 hours, depending on the RU/s selected) as the service provisions more resources to support the higher scale.
59
60
60
61
### Can I reduce the max RU/s (move to a lower tier) on the database or container?
61
62
Yes. As long as the current storage of the database or container is below the [storage limit](#what-is-the-storage-limit-associated-with-each-max-rus-option) associated with the max RU/s tier you want to scale down to, you can reduce the max RU/s to that tier. For example, if you have selected 20,000 RU/s as the max RU/s, you can scale down the max RU/s to 4000 RU/s if you have less than 50 GB of storage (the storage limit associated with 4000 RU/s).
@@ -69,9 +70,9 @@ The Max RU/s of the database or container is divided evenly across all physical
69
70
If the overall consumed RU/s exceeds the max RU/s of the container or database, requests that exceed the max RU/s will be throttled and return a 429 status code. Requests that result in over 100% normalized utilization will also be throttled. Normalized utilization is defined as the max of the RU/s utilization across all physical partitions. For example, suppose your max throughput is 20,000 RU/s and you have two physical partitions, P_1 and P_2, each capable of scaling to 10,000 RU/s. In a given second, if P_1 has used 6000 RUs, and P_2 8000 RUs, the normalized utilization is MAX(6000 RU / 10,000 RU, 8000 RU / 10,000 RU) = 0.8.
70
71
71
72
> [!NOTE]
72
-
> The Azure Cosmos DB client SDKs and data import tools (Azure Data Factory, bulk executor library) automatically retry on 429s, so occasional 429s are fine. A sustained high number of 429s may indicate you need to increase the max RU/s or review your partitioning strategy for a [hot partition](#is-it-still-possible-to-see-429s-throttlingrate-limiting-when-autopilot-is-enabled).
73
+
> The Azure Cosmos DB client SDKs and data import tools (Azure Data Factory, bulk executor library) automatically retry on 429s, so occasional 429s are fine. A sustained high number of 429s may indicate you need to increase the max RU/s or review your partitioning strategy for a [hot partition](#autoscale-rate-limiting).
73
74
74
-
### Is it still possible to see 429s (throttling/rate limiting) when autopilot is enabled?
75
+
### <aid="autoscale-rate-limiting"></a> Is it still possible to see 429s (throttling/rate limiting) when autoscale is enabled?
75
76
Yes. It is possible to see 429s in two scenarios. First, when the overall consumed RU/s exceeds the max RU/s of the container or database, the service will throttle requests accordingly.
76
77
77
78
Second, if there is a hot partition, i.e. a logical partition key value that has a disproportionately higher amount of requests compared to other partition key values, it is possible for the underlying physical partition to exceed its RU/s budget. As a best practice, to avoid hot partitions, [choose a good partition key](partitioning-overview.md#choose-partitionkey) that results in an even distribution of both storage and throughput.
@@ -80,6 +81,6 @@ For example, if you select the 20,000 RU/s max throughput option and have 200 GB
80
81
81
82
## Next steps
82
83
83
-
* Learn how to [enable autopilot on an Azure Cosmos container or database](provision-throughput-autopilot.md#create-a-database-or-a-container-with-autopilot-mode).
84
-
* Learn about the [benefits of autopilot](provision-throughput-autopilot.md#benefits-of-autopilot-mode).
84
+
* Learn how to [enable autoscale on an Azure Cosmos container or database](provision-throughput-autoscale.md#create-db-container-autoscale).
85
+
* Learn about the [benefits of provisioned throughput in autoscale mode](provision-throughput-autoscale.md#autoscale-benefits).
85
86
* Learn more about [logical and physical partitions](partition-data.md).
Copy file name to clipboardExpand all lines: articles/cosmos-db/manage-scale-cassandra.md
+8-8Lines changed: 8 additions & 8 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -29,7 +29,7 @@ If you need to minimize latency, there is a spectrum of options for managing sca
29
29
*[Manually by using the Azure portal](#use-azure-portal)
30
30
*[Programmatically by using the control plane features](#use-control-plane)
31
31
*[Programmatically by using CQL commands with a specific SDK](#use-cql-queries)
32
-
*[Dynamically by using Autopilot](#use-autopilot)
32
+
*[Dynamically by using autoscale](#use-autoscale)
33
33
34
34
The following sections explain the advantages and disadvantages of each approach. You can then decide on the best strategy to balance the scaling needs of your system, the overall cost, and efficiency needs for your solution.
35
35
@@ -41,23 +41,23 @@ The advantage of this method is that it is a straightforward turnkey way to mana
41
41
42
42
## <aid="use-control-plane"></a>Use the control plane
43
43
44
-
The Azure Cosmos DB's API for Cassandra provides the capability to adjust throughput programmatically by using our various control-plane features. See the [Azure Resource Manager](manage-cassandra-with-resource-manager.md), [Powershell](powershell-samples-cassandra.md), and [Azure CLI](cli-samples-cassandra.md) articles for guidance and samples.
44
+
The Azure Cosmos DB's API for Cassandra provides the capability to adjust throughput programmatically by using our various control-plane features. See the [Azure Resource Manager](manage-cassandra-with-resource-manager.md), [PowerShell](powershell-samples-cassandra.md), and [Azure CLI](cli-samples-cassandra.md) articles for guidance and samples.
45
45
46
-
The advantage of this method is that you can automate the scaling up or down of resources based on a timer to account for peak activity, or periods of low activity. Take a look at our sample [here](https://github.com/Azure-Samples/azure-cosmos-throughput-scheduler) for how to accomplish this using Azure Functions and Powershell.
46
+
The advantage of this method is that you can automate the scaling up or down of resources based on a timer to account for peak activity, or periods of low activity. Take a look at our sample [here](https://github.com/Azure-Samples/azure-cosmos-throughput-scheduler) for how to accomplish this using Azure Functions and PowerShell.
47
47
48
-
A disadvantage with this approach may be that you cannot respond to unpredictable changing scale needs in real-time. Instead, you may need to leverage the application context in your system, at the client/SDK level, or using [Autopilot](provision-throughput-autopilot.md).
48
+
A disadvantage with this approach may be that you cannot respond to unpredictable changing scale needs in real-time. Instead, you may need to leverage the application context in your system, at the client/SDK level, or using [Autoscale](provision-throughput-autoscale.md).
49
49
50
50
## <aid="use-cql-queries"></a>Use CQL queries with a specific SDK
51
51
52
52
You can scale the system dynamically with code by executing the [CQL ALTER commands](cassandra-support.md#keyspace-and-table-options) for the given database or container.
53
53
54
-
The advantage of this approach is that it allows you to respond to scale needs dynamically and in a custom way that suits your application. With this approach, you can still leverage the standard RU/s charges and rates. If your system's scale needs are mostly predictable (around 70% or more), using SDK with CQL may be a more cost-effective method of auto-scaling than using Autopilot. The disadvantage of this approach is that it can be quite complex to implement retries while rate limiting may increase latency.
54
+
The advantage of this approach is that it allows you to respond to scale needs dynamically and in a custom way that suits your application. With this approach, you can still leverage the standard RU/s charges and rates. If your system's scale needs are mostly predictable (around 70% or more), using SDK with CQL may be a more cost-effective method of auto-scaling than using autoscale. The disadvantage of this approach is that it can be quite complex to implement retries while rate limiting may increase latency.
55
55
56
-
## <aid="use-autopilot"></a>Use Autopilot
56
+
## <aid="use-autoscale"></a>Use autoscale
57
57
58
-
In addition to manual or programmatic way of provisioning throughput, you can also configure Azure cosmos containers in Autopilot mode. Autopilot mode will automatically and instantly scale to your consumption needs within specified RU ranges without compromising SLAs. To learn more, see the [Create Azure Cosmos containers and databases in autopilot mode](provision-throughput-autopilot.md) article.
58
+
In addition to manual or programmatic way of provisioning throughput, you can also configure Azure cosmos containers in autoscale mode. Autoscale mode will automatically and instantly scale to your consumption needs within specified RU ranges without compromising SLAs. To learn more, see the [Create Azure Cosmos containers and databases in autoscale mode](provision-throughput-autoscale.md) article.
59
59
60
-
The advantage of this approach is that it is the easiest way to manage the scaling needs in your system. It guarantees not to apply rate-limiting **within the configured RU ranges**. The disadvantage is that, if the scaling needs in your system are predictable, Autopilot may be a less cost-effective way of handling your scaling needs than using the bespoke control plane or SDK level approaches mentioned above.
60
+
The advantage of this approach is that it is the easiest way to manage the scaling needs in your system. It guarantees not to apply rate-limiting **within the configured RU ranges**. The disadvantage is that, if the scaling needs in your system are predictable, autoscale may be a less cost-effective way of handling your scaling needs than using the bespoke control plane or SDK level approaches mentioned above.
0 commit comments